【问题标题】:Hibernate logging with log4j使用 log4j 进行休眠日志记录
【发布时间】:2009-09-11 00:37:59
【问题描述】:

我有以下代码,但我仍然无法让 Hibernate 将 SQL 查询写入日志文件。它完美地将它们写入 Eclipse 控制台。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="file" 
 class="org.apache.log4j.RollingFileAppender">
 <param name="maxFileSize" value="500KB"/>
 <param name="maxBackupIndex" value="5"/>
 <param name="File" value="hibernate.log"/>
 <layout class="org.apache.log4j.PatternLayout">
  <param name="ConversionPattern"
    value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
 </layout>
</appender>

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


<root>
<priority value="info"></priority>
<!--  -->
</root>


</log4j:configuration>

有人可以解释为什么吗?我感觉到那个元素,它的元素必须与它做一些事情,但不知道这个元素有什么作用?有人可以发布链接或其他我可以阅读的内容。

【问题讨论】:

    标签: hibernate logging log4j


    【解决方案1】:

    org.hibernate.SQL 只在调试级别记录 SQL - 你需要这样的东西:

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

    【讨论】:

      【解决方案2】:

      如下配置log4j:

      <logger name="org.hibernate">
          <level value="debug"/>
          <appender-ref ref="file"/>
      </logger>
      

      之后,您必须将“hibernate.show_sql”休眠属性配置为 true

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-01
        • 2014-12-20
        相关资源
        最近更新 更多