关闭Hibernate日志记录



我将Hibernate用于一个小型演示项目。我正在使用Eclipse,并从Eclipse中启动该程序,它将把程序输出打印到Eclipse控制台。

这是一个简单的Java项目,没有Maven,没有Spring,什么都没有。我刚刚在构建路径中添加了所需的hibernate库,其中还包括jboss-logging-3.1.0.GA(其中包括一些log4j类,所以我认为log4j在这里起作用)。

有很多人在网上问这个问题,但没有一个提议的解决方案对我有效

我在项目的src目录中创建了一个log4j.properties文件(所以它肯定会在类路径中)。在构建项目时,Eclipse会将log4j.properties文件复制到bin目录中。它包含一行:

log4j.logger.net.sf.hibernate=fatal

我在网上找到的。我也试过

log4j.logger.org.hibernate=fatal

这也于事无补。

尽管如此,我还是得到了以下控制台输出,这些都是信息消息(当我将严重性设置为致命时,这些消息不应该出现…):

21.11.2012 19:53:51 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
21.11.2012 19:53:51 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.8.Final}
21.11.2012 19:53:51 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
21.11.2012 19:53:51 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: true
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/quellsystem]
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=root, password=****, autocommit=true, release_mode=auto}
21.11.2012 19:53:52 org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
21.11.2012 19:53:52 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
21.11.2012 19:53:52 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory

我还尝试将-Dlog4j.configuration=log4j.properties添加到Eclipse运行配置的VM参数中。不管怎样都无济于事。。。

您可以使用log4j配置文件。

要能够使用log4j.properties文件,请将其添加到您的pom.xml

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>

要禁用日志记录,您可以将其放在src/test/resources/log4j.properties文件中

log4j.rootLogger=OFF

是的,只要将此依赖项添加到pom.xml中,就会禁用Hibernate中INFO和WARN的日志记录,也不会激活任何日志属性/或log4j2.xml文件

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
</dependency>

最新更新