2010-11-29 28 views
16

J'ai un projet utilisant log4j. Maintenant, je dois introduire une bibliothèque en utilisant slf4j. Puis-je demander à slf4j de s'initialiser en se basant sur la configuration de log4j? Donc, je veux log4j fondamentalement comme bibliothèque sous-jacente sous slf4j.Config SLF4J utilisant la bibliothèque pour utiliser la configuration LOG4J

MISE À JOUR:

config log4j est comme ceci:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 

<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="fileAppender" class="org.apache.log4j.rolling.RollingFileAppender"> 
     <param name="file" value="${log.dir}/${log.file}.log" /> 
     <param name="append" value="true" /> 
     <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
      <param name="FileNamePattern" value="${archive.log.dir}/${log.file}.%d{yyyy-MM-dd}.gz" /> 
      <param name="ActiveFileName" value="${log.dir}/${log.file}.log"/> 
     </rollingPolicy> 
     <layout class="org.apache.log4j.EnhancedPatternLayout"> 
      <param name="ConversionPattern" value="%d{yyMMdd HH:mm:ss,SSS} [%t] %-5p %c %X %m%n" /> 
     </layout> 
    </appender> 
    <logger name="org.hibernate"> 
     <level value="ALL" /> 
     <appender-ref ref="fileAppender"/> 
    </logger> 
    <root> 
     <priority value="info" /> 
     <appender-ref ref="fileAppender" /> 
    </root> 
</log4j:configuration> 

J'utilise aussi la version apache-log4j-extras 1.0. version log4j est 1.2.16

Répondre

25

Oui, vous avez besoin de trois fichiers jar dans le classpath de votre projet:

slf4j-api-1.6.1.jar  // the slf4j API 
slf4j-log4j12-1.6.1.jar // log4j bindings for slf4j 
log4j-1.2.15.jar   // log4j itself 

Assurez-vous d'avoir la même version de slf4j-api et slf4j-log4j12, sinon cela ne fonctionnera pas. Vous pouvez également utiliser la version la plus récente de log4j, 1.2.16 si je ne me trompe pas.

+0

Je l'ai essayé. Les versions sont comme vous l'avez suggéré. La bibliothèque se connecte toujours à la sortie standard, ce qui est mal: D –

+0

Works. J'ai vissé les dépendances. Résolu, fonctionne maintenant. Merci mec. +1 + résolu. –

+0

@darioo Man, tu viens de sauver ma journée! ManyManyMany merci! :) –