关闭Hibernate日志记录

8 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
Run Code Online (Sandbox Code Playgroud)

我在网上找到了.我也尝试过

log4j.logger.org.hibernate=fatal
Run Code Online (Sandbox Code Playgroud)

这也没有帮助.

不过我获得以下控制台输出,这些都是信息的消息(这不应该出现,因为我的严重程度设置为致命的...):

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
Run Code Online (Sandbox Code Playgroud)

我也尝试添加-Dlog4j.configuration = log4j.properties到我的Eclipse运行配置的VM参数.两种方式都无济于事......

小智 1

您可以使用 log4j 配置文件。

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

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.15</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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

log4j.rootLogger=OFF
Run Code Online (Sandbox Code Playgroud)