2009-09-11 132 views
1

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

<?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> 

有人可以解释为什么吗?我已经感觉到这个元素,它的元素必须做些什么,但不知道这个元素做什么?有人可以发布一个链接或者我可以阅读的东西。

回答

3

org.hibernate.SQL只记录在调试LEVEL-你需要像这样的SQL:

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

配置log4j如下:

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

后,你必须配置“冬眠.show_sql“hibernate属性为true