web-dev-qa-db-fra.com

Niveau de journalisation par appender pour un seul enregistreur

Est-il possible de configurer différents niveaux de journalisation pour un seul enregistreur basé sur l'appender?

Je me rends compte que cela est similaire à ceci question , et c'est pour autant que je me suis déjà obtenu, mais le problème avec cela est que le seuil s'applique à tous les enregistreurs qui se connectent à cet appender, alors que je veulent que le seuil s'applique à un seul enregistreur.

c'est-à-dire jusqu'à présent, j'ai quelque chose comme ça:

log4j.rootLogger=WARN, stdout

log4j.appender.stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.layout=org.Apache.log4j.SimpleLayout

log4j.logger.mylogger=DEBUG,logfile
log4j.appender.logfile=org.Apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern=${roll.pattern.daily}
log4j.appender.logfile.layout=org.Apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.logfile.File=mylogfile.log

Je veux que les messages mylogger DEBUG soient envoyés à l'appendice du fichier journal , mais Je souhaite également que mylogger les messages INFO soient envoyés à stdout appender ( mais pour tous les autres enregistreurs, seulement AVERTISSEMENTS). L'utilisation du seuil pour limiter stdout à WARN limite la sortie de mylogger .

47
Joel

Aha, je l'ai corrigé en changeant

log4j.appender.stdout.Threshold=WARN

à

log4j.appender.stdout.Threshold=INFO

Aurait dû être plus prudent la première fois.

47
Joel