logback 日志总是休眠查询 show_sql 为 false

logback logs always hibernate query having show_sql to false

拥有:

<logger name="org.hibernate.SQL" level="ERROR">
    </logger>

在我的 logback.xml 上,我预计不会看到日志:

fromLogback 2015-03-17 14:20:56,967 39427 [http-bio-8080-exec-6] DEBUG org.hibernate.SQL - select statsitemi0_.itemId as itemId1_54_, statsitemi0_.companyId as companyI2_54_, statsitemi0_.createDate as

如您所见,首先打印的是 "fromLogback" 这是因为我的 appender 看起来像:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <pattern>fromLogback %d %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

但是休眠调试级别似乎还处于活动状态,因为我可以看到所有查询。我有 属性 hibernate.show_sql=false

sessionBuilder.setProperty("hibernate.show_sql",propertiesUtil.getProperty("hibernate.show_sql"));
return sessionBuilder.buildSessionFactory();

只是为了确保在构建会话工厂时打印休眠的所有属性,并且我看到 show_sql 的值已正确设置为 false。

为什么我仍然看到休眠的调试日志?

更新: 如果我在 logback.xml 上使用,我可以在启动时看到这些日志:

16:06:04,338 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.hibernate] to ERROR
16:06:04,338 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.notnoop.apns.internal.ApnsConnectionImpl] to ERROR
16:06:04,338 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
16:06:04,338 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
16:06:04,338 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]

以及之后的几行:

[http-bio-8080-exec-1] DEBUG org.hibernate.SQL - select propertyim0_.key_ as...

我还没有logback-test.xml 我的 logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${catalina.base}/logs/liferay.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>UTF-8</charset>
            <pattern>%d %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--<appender name="FILE_CACHE" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
        <!--<file>${catalina.base}/logs/cache.log</file>-->
        <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
            <!--<fileNamePattern>${catalina.base}/logs/cache.%d{yyyy-MM-dd}.%i.log</fileNamePattern>-->
            <!--&lt;!&ndash; 30 días de historia &ndash;&gt;-->
            <!--<maxHistory>30</maxHistory>-->
        <!--</rollingPolicy>-->

        <!--<encoder>-->
            <!--<charset>UTF-8</charset>-->
            <!--<pattern>%d %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>-->
        <!--</encoder>-->
    <!--</appender>-->

    <appender name="ACCESSLOG" class="ch.qos.logback.core.FileAppender">
        <file>${catalina.base}/logs/portlet-shnm-access.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>UTF-8</charset>
            <pattern>%msg%n</pattern>
        </encoder>
    </appender>


    <logger name="com.shn.mkt" level="INFO"/>

    <logger name="org.hibernate" level="ERROR"/>

    <logger name="com.notnoop.apns.internal.ApnsConnectionImpl" level="ERROR"/>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
        <!--<appender-ref ref="ACCESSLOG"/>-->
    </root>

</configuration>

请注意,我正在使用 Spring 启动,但根据项目的规范,我现在无法使用 application.properties 或 application.yml,所以我预计会使用我自己的 logback.xml 就够了。

tomcat 的文件 setenv.sh 有:

JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=worker,backoffice -Ddebug -Xms128m -Xmx8192m -XX:PermSize=128m -XX:MaxPermSize=256m"

-Ddebug of Spring 引导是原因...抱歉所有噪音。