log4j 关闭休眠日志记录

yv5phkfx  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(238)

我正在使用Hibernate进行一个小的演示项目。我正在使用Eclipse,我从Eclipse内部启动程序,它将把程序输出打印到Eclipse控制台。
这是一个普通的Java项目,没有Maven,没有Spring,什么都没有。我只是将所需的Hibernate库添加到我的构建路径中,其中还包括jboss-logging-3.1.0.GA(其中包括一些log4j类,所以我认为log4j在这里工作)。
在网上有很多人问这个问题,但没有一个解决方案适合我。
我log4j.properties在项目的src目录中创建了一个www.example.com文件(因此它肯定会在类路径中)。log4j.properties文件在构建项目时由Eclipse复制到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= www.example.com添加log4j.properties到我的Eclipse运行配置的VM参数中。

slmsl1lt

slmsl1lt1#

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

gxwragnw2#

是的,只需将此依赖项添加到您的pom.xml中,即可在没有任何日志属性/或log4j2.xml文件的情况下从Hibernate中禁用INFO和WARN的日志记录

<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>

相关问题