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

这是一个普通的Java项目,没有Maven,没有Spring,什么也没有。我只是在构建路径中添加了所需的休眠库,其中还包括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

07-24 18:41
查看更多