2015-03-23 1 views
0

У меня есть следующие конфиги для моих журналов:Log4j с использованием двух различных журналов в том же классе

log4j.rootCategory=INFO, RollLogFile 
log4j.logger.ReportLog=INFO,ReportLog 

После, я установил два appenders для моих журналов и некоторых свойств. Я делаю это в моем коде:

reportLogger = LogManager.getLogger("ReportLog"); 

И после этого

reportLogger.info("blabla bla bla "); 

Почему эта линия также регистрируется в RollLogFile`s файл?

ответ

1

Из Appender аддитивности:

Каждый запрос включен протоколирование для данного регистратора будет направлен всем appenders в этом регистраторе, а также appenders выше в иерархии. Другими словами, приложения добавляются аддитивно из иерархии регистратора. Например, если консольный appender добавлен к корневому журналу, то все включенные запросы на ведение журнала будут не менее печатать на консоли. Если добавление файла добавлено в регистратор , скажем C, затем разрешены запросы на ведение журнала для детей C и C. будет печатать на файле и на консоли. Можно переопределить это поведение по умолчанию, так что накопление appender больше не является добавкой setting the additivity flag до false.

Смежные вопросы