java - Hibernate + Logback,不登录文件

标签 java hibernate file logging logback

我正在使用 Hibernate 3.1.3 和 Logback(经典+核心)1.1.7。

这是我的 logback.xml

<appender name="hibernate-sql"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/hibernate-sql.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <FileNamePattern>c:/temp/hibernate-sql.%i.log.zip</FileNamePattern>
      <MinIndex>1</MinIndex>
      <MaxIndex>10</MaxIndex>
    </rollingPolicy>

    <triggeringPolicy
    class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <MaxFileSize>2MB</MaxFileSize>
    </triggeringPolicy>

</appender>

  <logger name="org.hibernate.hql">
    <level value="TRACE"/>
    <appender-ref ref="hibernate-sql"/>
  </logger>

  <logger name="org.hibernate.SQL">
    <level value="TRACE"/>
    <appender-ref ref="hibernate-sql"/>
  </logger>

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

我在 IDE 控制台中记录了 SQL(由于 hibernate.show_sql = true),但没有在 messages/hibernate-sql.log 中记录。文件已创建良好,但仍为空。

这是有关 logback 的调试信息:

12:34:43,301 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
12:34:43,301 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:34:43,301 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/C:/******/logback.xml]
12:34:43,535 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
12:34:43,543 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [hibernate-sql]
12:34:43,668 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@77e4c80f - Will use zip compression
12:34:43,678 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[hibernate-sql] - Active log file name: logs/hibernate-sql.log
12:34:43,679 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[hibernate-sql] - File property is set to [logs/hibernate-sql.log]
12:34:43,684 |-INFO in ch.qos.logback.classic.joran.action.LevelAction - org.hibernate.hql level set to TRACE
12:34:43,684 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [hibernate-sql] to Logger[org.hibernate.hql]
12:34:43,685 |-INFO in ch.qos.logback.classic.joran.action.LevelAction - org.hibernate.SQL level set to TRACE
12:34:43,685 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [hibernate-sql] to Logger[org.hibernate.SQL]
12:34:43,686 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to TRACE
12:34:43,686 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
12:34:43,687 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@36f0f1be - Registering current configuration as safe fallback point

即使它很好地创建了文件,为什么它会登录到控制台而不是登录到我的文件中?谢谢。

最佳答案

尝试将 debug="true" 添加到您的 logback.xml 文件中,如所述 here 。它将有助于理解您的日志记录的实际配置方式。

关于java - Hibernate + Logback,不登录文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37433944/

相关文章:

email - swiftmailer::发送虚拟文件?

java - 将文件夹中的所有文件保存在 jar 中

java - 使用 Java 上传 Onedrive API 文件

java - 通过空指针中途终止 char[] -> String 转换

mysql - 删除 Hibernate 中键“PRIMARY”的重复条目 '59'

java - 想要使用实体修改 Hibernate 条件

java - JPA持久化 CrudRepository.save() 语法错误

java - 直接访问对象 = 比从文件读取快 94,117 倍?

java - 覆盖 LinearLayout 的构造函数之一的奇怪问题

java - 平板电脑布局定义