我有以下代码,我仍然无法让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>
有人可以解释原因吗?我觉得元素和它的元素必须做些什么,但不知道这个元素的作用是什么?有人可以发布链接或其他我可以阅读的内容。
答案 0 :(得分:3)
org.hibernate.SQL只在调试级别记录SQL - 你需要这样的东西:
<logger name="org.hibernate.SQL">
<level value="debug" />
<appender-ref ref="file" />
</logger>
答案 1 :(得分:1)
按如下方式配置log4j:
<logger name="org.hibernate">
<level value="debug"/>
<appender-ref ref="file"/>
</logger>
之后你必须将“hibernate.show_sql”hibernate属性配置为true