2009-09-11 2 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 только регистрирует SQL при отладке LEVEL- вам нужно что-то вроде этого:

<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

Смежные вопросы