2011-11-10 3 views
1

J'ai une application tomcat en mode hibernation. Quand je vais dans le WEB-INF et changer les log4j.properties à ce qui suit ...Hibernate ne se connecte pas à Log4J

log4j.logger.net.sf.hibernate.SQL=trace 

Mais je ne vois rien dans le fichier journal que je utilise.

log4j.rootLogger=debug, stdout 
.... 
log4j.appender.file=org.apache.log4j.FileAppender 
log4j.appender.file.File=hibernate.log 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 

La journalisation semble fonctionner correctement pour ma propre application.

Des idées?

+0

vérifier la configuration de votre mise en veille prolongée file.Is xml il propriété « hibernate.show_sql » est définie sur false? –

Répondre

4

Je ne suis pas sûr de cela, mais je pense que les nouvelles versions Hibernate pourraient utiliser en utilisant slf4j au lieu de log4j. Vous pouvez passer en utilisant un slf4j-log4j -bridge. Si vous utilisez Maven, la dépendance est le suivant:

<!-- slf4j -> log4j bridge (some libraries use slf4j) --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.5.6</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 

Modifiez les versions si nécessaire.

+0

J'utilise ... \t \t com.googlecode.sli4j \t \t sli4j-slf4j-simple, \t \t 2,0 \t \t Jackie

+0

Je ne suis pas familier avec sli4j, mais le site dit "Aucune méthode de setter n'est nécessaire, aucune annotation spéciale, déclarez-la simplement et laissez sli4j faire le reste, les Loggers finaux et déjà définis seront ignorés et sli4j ne tentera pas de les contourner du tout". Le problème pourrait-il être que les enregistreurs Hibernate soient déclarés comme 'private static final', auquel cas sli4j n'injectera pas ses propres loggers? – esaj

+0

J'ai essayé d'ajouter cela à la place et je pense que cela a fonctionné x2 vérification – Jackie

0

Essayez ce qui suit parce mise en veille prolongée est plus sous une hiérarchie de package net.sf:

log4j.logger.org.hibernate.SQL=trace 
+0

Merci, mais j'utilise une version plus ancienne. – Jackie

+0

Je pense que quand hibernate était sous net.sf, il n'utilisait pas encore slf4j. Je me demande simplement si vous avez vraiment trouvé le problème. – cherouvim