java - 无法禁用 hibernate 日志记录

标签 java hibernate logback

我使用 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/

相关文章:

java - Android studio-transformClassesWithDexForDebug 错误

java - 如何使用java代码刷新网页?

java - 使用 spring 应用程序的 hibernate 将表情符号 unicode 字符保存在 mysql 数据库中

sockets - 使用 logback 的 SocketAppender 丢失日志条目

java - 包装 slf4j API

java - java内部递归正则表达式

JAVA JDBC 重用连接

java - 在 JPA 中选择 OneToMany 关系的子级

java - hibernate 异常。查询语法异常 : unexpected token: HAVING

java - Wildfly8/jBoss 包装 Logback 日志(双前缀)