2015-03-24 3 views
1

Im using Log4j и у меня есть следующая проблема: есть ли способ добавить еще один регистратор из вашего кода? (не корневой журнал). В моем конфигурационном файле, я настроить следующие два лесорубов:java log4j добавить еще один регистратор с вашего кода

log4j.rootCategory=INFO, ALogFile 
log4j.logger.BLog=INFO,BLog 

Я хотел бы, чтобы удалить вторую строку из конфигурационного файла и добавить блог из кода. Это возможно?

ответ

1

Эквивалентный код должен быть:

Logger logger = Logger.getLogger("BLog"); 
logger.setLevel(Level.INFO);  
logger.addAppender(Logger.getRootLogger().getAppender("BLog")); // see notes below 

Т.е. вы получаете объект Logger для имени BLog, тогда вы устанавливаете уровень на INFO и присоединяете добавление, которое вы предположительно определили в другом месте в вашем файле конфигурации, называемом BLog.

Примечание: на основании ответов от this related question вам может потребоваться прикрепить приложение к регистратору, чтобы иметь возможность ссылаться на него, как мой код делает выше. Или просто определите приложение в своем коде.