2010-11-03 18 views
5

Ho 2 file di registrazione. Ho definito due appendici per i 2 file. In una classe, se ho bisogno di produrre pochi log in un file e pochi nell'altro, ho bisogno di avere 2 istanze del logger. Esiste un modo più pulito per raggiungere questo requisito? Oppure c'è qualche configurazione di log4j che mi aiuterà?Log4j file multipli

risposta

4

È possibile creare due taglialegna di nome simile al seguente:

log4j.logger.system=debug, sys 

log4j.appender.sys=org.apache.log4j.RollingFileAppender 
log4j.appender.sys.file=/logs/system.log 
log4j.appender.sys.maxFileSize=1MB 
log4j.appender.sys.maxBackupIndex=25 
log4j.appender.sys.layout=org.apache.log4j.PatternLayout 
log4j.appender.sys.layout.conversionPattern=%d{MMM dd HH:mm:ss} %-5p (%F:%L) - %m%n 

quale è possibile individuare e utilizzare dal codice:

Logger.getLogger("system").debug("..."); 
+0

+1 ma avevo bisogno di un riferimento! – shareef

+0

ma ha funzionato;) questo è più facile che cercare nei riferimenti – shareef

0

Se questo filtraggio registro si basa sulla gravità, è possibile definire un livello di registro diverso per ciascun appender (DEBUG, INFO, WARNING, ecc.).

Se si desidera un filtro diverso, è possibile creare un filtro di registro personale e applicare questo filtro sul proprio appender. Guarda http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/Filter.html