关闭Hibernate日志记录

时间:2012-11-21 18:59:17

标签: java hibernate log4j

我正在使用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参数中。两种方式都无济于事......

2 个答案:

答案 0 :(得分:3)

检查这个答案。它显示了如何以编程方式禁用log4j。

https://stackoverflow.com/a/6736961/204435

答案 1 :(得分:2)

您可以使用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