我使用 logback 来实现自定义日志记录目的。我还将 Hibernate 集成到了我的应用程序中。现在我尝试禁用或设置 Hibernate 日志记录级别,但没有成功。我尝试在 hibernate.cfg.xml 文件中添加以下属性,但没有任何改变。
<property name="show_sql">false</property>
<property name="hibernate.generate_statistics">false</property>
<property name="hibernate.use_sql_comments">false</property>
这也是我的 hibernate.cfg.xml :
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.HSQLDialect
</property>
<property name="hibernate.connection.driver_class">
org.hsqldb.jdbcDriver
</property>
<!-- Assume students is the database name -->
<property name="hibernate.connection.url">
jdbc:hsqldb:mem:testdb
</property>
<property name="hibernate.connection.username">
SA
</property>
<property name="show_sql">false</property>
<property name="hibernate.generate_statistics">false</property>
<property name="hibernate.use_sql_comments">false</property>
<property name="hibernate.connection.password">
</property>
<property name="hbm2ddl.auto">create</property>
</session-factory>
</hibernate-configuration>
这也是我的 logback.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>classname</key>
<defaultValue>unknown</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${classname}" class="ch.qos.logback.core.FileAppender">
<append>false</append>
<file>${classname}.log</file>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{HH:mm:ss:SSS} | %-5level | %thread | %logger{20} | %msg%n%rEx</pattern>
</layout>
</appender>
</sift>
</appender>
<root level="ALL">
<appender-ref ref="SIFT"/>
</root>
</configuration>
最佳答案
添加此...
<logger name="org.hibernate" level="OFF"/>
...到您的logback.xml
这将指示 Logback 忽略 Logger 实例从 org.hibernate
命名空间发出的所有日志事件。
关于java - 无法禁用 hibernate 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48184495/