È possibile configurare diversi livelli di registro per un singolo Logger basato sull'appender?Livello log per appender per un singolo Logger
Mi rendo conto che questo è simile a questo question, e questo è quanto ho già avuto me stesso, ma il problema con questo è che la soglia si applica a tutti i logger che accedono a quell'appender, mentre io voglio solo la soglia da applicare a un singolo logger.
cioè Finora ho qualcosa di simile:
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
voglio myLogger messaggi di debug da inviare al file di log appender, ma voglio anche myLogger messaggi info per essere inviati a l'appender stdout (ma per tutti gli altri logger solo WARN ings). L'utilizzo della Soglia per limitare lo stdout a WARN limita l'output di mylogger.
Si consiglia di utilizzare il formato XML, è molto più facile da capire, IMO – skaffman
concordato e espone funzionalità non disponibili tramite file di proprietà. – Joel
Bello! Questo mi è stato molto utile un anno dopo :-D L'ho fatto in fase di esecuzione però, dall'interno dell'applicazione, in questo modo: myAppender.setThreshold (Level.INFO). – Jochem