Log4j несколько файлов

У меня есть 2 файла журнала. Я определил два приложения для двух файлов. В классе, если мне нужно вывести несколько журналов в один файл и несколько в другой, мне нужно иметь 2 экземпляра регистратора. Есть ли более чистый способ выполнить это требование? Или есть какая-то конфигурация log4j, которая мне поможет?


person Pooja    schedule 03.11.2010    source источник


Ответы (2)


Вы можете создать два именованных регистратора, как показано ниже:

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

который вы можете найти и использовать из кода:

Logger.getLogger("system").debug("...");
person cherouvim    schedule 03.11.2010

Если эта фильтрация журнала основана на серьезности, вы можете определить другой уровень журнала для каждого приложения (DEBUG, INFO, WARNING и т. д.).

Если вам нужна другая фильтрация, вы можете создать фильтр личного журнала и применить этот фильтр к своему приложению. Посмотрите на http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/Filter.html

person Benoit Courtine    schedule 03.11.2010