web-dev-qa-db-fra.com

les messages de débogage de log4j ne s'affichent pas dans la console alors que isDebugEnabled est à true

J'utilise le code suivant dans mon projet pour enregistrer les messages de débogage avec log4j

private static final Logger LOG = Logger.getLogger(MyClass.class)
// ...
if(LOG.isDebugEnabled()) {
    LOG.debug("my log message");
}

Je peux confirmer que ma configuration log4j est correcte en ajoutant un point d'arrêt à la ligne où le message de débogage est écrit, c'est-à-dire que LOG.isDebugEnabled() renvoie true. Fait intéressant, mon message de débogage n'apparaît pas dans la console de mon IDE (IntelliJ), toutefois, lorsque vous remplacez LOG.debug() par LOG.info(), le message d’information est enregistré comme prévu.

Des idées que je devrais rechercher afin de découvrir ce qui ne va pas ici?

EDIT: voici mon fichier log4j.properties

log4j.appender.Stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.Stdout.layout=org.Apache.log4j.PatternLayout
log4j.appender.Stdout.layout.conversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} - %m [thread: %t]\n
log4j.appender.Stdout.threshold=info

log4j.appender.StandaloneFile=org.Apache.log4j.RollingFileAppender
log4j.appender.StandaloneFile.File=logs/standalone.log
log4j.appender.StandaloneFile.MaxFileSize=5MB
log4j.appender.StandaloneFile.MaxBackupIndex=20
log4j.appender.StandaloneFile.layout=org.Apache.log4j.PatternLayout
log4j.appender.StandaloneFile.layout.ConversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} - %m [thread: %t]\n
log4j.appender.StandaloneFile.threshold=info

log4j.rootLogger=info, Stdout, StandaloneFile
log4j.logger.com.myPacke.package1=info, Stdout, StandaloneFile

log4j.logger.com.myPacke.package2=DEBUG
11
peterp
log4j.appender.Stdout.threshold=info

Devrait être:

log4j.appender.Stdout.threshold=debug

Vous définissez simplement le seuil de la console sur info, vous n'obtiendrez donc pas de journaux de niveau de débogage.

Sachez que vous définissez également le seuil RollingFileAppender sur info en tant que commentaire @Stephen C.

9
BobTheBuilder

Assurez-vous que votre configuration est inférieure à appender ... Nous avons utilisé log4j.xml, donc j'ajoute du xml

<appender name="console" class="org.Apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <param name="Threshold" value="info" />
    <layout class="org.Apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p: %c - %m%n" />
    </layout>
</appender>

<appender name="logfile" class="org.Apache.log4j.RollingFileAppender">
    <param name="File" value="log/dcm_migration.log" />
    <param name="Append" value="false" />
    <layout class="org.Apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d  %-5p  [%c{1}] %m %n" />
    </layout>
</appender>
1
Ranu Jain