2009-09-11 7 views
1

J'ai le code suivant et je suis toujours incapable d'obtenir Hibernate pour écrire des requêtes SQL au fichier journal. Il les écrit parfaitement sur la console Eclipse.Hibernate logging avec 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> 

Quelqu'un peut-il expliquer pourquoi? J'ai le sentiment que cet élément et cet élément doivent faire quelque chose avec ça, mais n'ont aucune idée de ce que fait cet élément? Quelqu'un peut-il poster un lien ou quelque chose où je peux lire ceci.

Répondre

3

org.hibernate.SQL enregistre uniquement le SQL au débogage vous besoin de quelque chose Niveau double comme ceci:

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

Configurer log4j comme suit:

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

après que vous devez configurer « mise en veille prolongée .show_sql "hibernate propriété à true