2015-08-13 3 views
1

Как можно добавить несколько уровней журнала в один и тот же файл журнала в log4j? Например:несколько уровней журнала в том же файле журнала в log4j

log4j.rootLogger=INFO,WARN,stdout,file 

Это дает ошибку log4j при запуске приложения, как:

Could not instantiate appender named WARN. 
+0

Просто настройте самый высокий уровень. Так что в этом случае INFO. Он будет регистрировать INFO, WARN, ERROR и FATAL. – Fildor

+0

Как насчет того, чтобы отлаживать тоже? – Harshana

+0

DEBUG выше INFO. Поэтому, если вы тоже хотите, настройте DEBUG. См. Это как «<=». – Fildor

ответ

1

Цель порога сказать log4j игнорировать все запросы протоколирования с приоритетом ниже чем что вы указываете. Указание заданного порогового значения не ограничивает вас регистрацией с этим пороговым значением.

FileAppender fa = new FileAppender(); 
fa.setThreshold(Level.INFO); 
fa.setAppend(true); 
Logger.getRootLogger().addAppender(fa); 

В приведенном выше коде, Appender был сконфигурирован для работы с порогом INFO. Это означает, что следующий код будет не журнала, потому что DEBUG является более низким приоритетом, чем INFO:

Logger logger = Logger.getLogger(SomeClass.class); 
logger.debug("This will not log"); 

Но этот код будет журнал:

logger.warn("This debug message will log."); 
logger.error("And this error message will also log."); 

В этом случае, как WARN и ERROR имеют более высокий приоритет, чем INFO.

+0

Разве это не «FATAL, ERROR, WARN, ** INFO, DEBUG **, ALL»? – Fildor

+0

@Fildor Спасибо, что указали это. –

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