Конфигурация Java log4j2 с использованием разных файлов для разных уровней журналаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Конфигурация Java log4j2 с использованием разных файлов для разных уровней журнала

Сообщение Anonymous »

У меня есть конфигурация для log4j2 в виде файла свойств, который выглядит следующим образом:
log4j2.properties

Код: Выделить всё

property.pattern = %d [%t] %F %-5L %-5p %c - %m%n

appender.0.type = Console
appender.0.name = ALL_LOG_CONSOLE
appender.0.layout.type = PatternLayout
appender.0.layout.pattern = ${pattern}

appender.1.type = File
appender.1.name = ALL_LOG_FILE
appender.1.fileName = logs/all.log
appender.1.layout.type = PatternLayout
appender.1.layout.pattern = ${pattern}

appender.2.type = File
appender.2.name = OFF_LOG_FILE
appender.2.fileName = logs/off.log
appender.2.layout.type = PatternLayout
appender.2.layout.pattern = ${pattern}

appender.3.type = File
appender.3.name = FATAL_LOG_FILE
appender.3.fileName = logs/fatal.log
appender.3.layout.type = PatternLayout
appender.3.layout.pattern = ${pattern}

appender.4.type = File
appender.4.name = ERROR_LOG_FILE
appender.4.fileName = logs/error.log
appender.4.layout.type = PatternLayout
appender.4.layout.pattern = ${pattern}

appender.5.type = File
appender.5.name = WARN_LOG_FILE
appender.5.fileName = logs/warn.log
appender.5.layout.type = PatternLayout
appender.5.layout.pattern = ${pattern}

appender.6.type = File
appender.6.name = INFO_LOG_FILE
appender.6.fileName = logs/info.log
appender.6.layout.type = PatternLayout
appender.6.layout.pattern = ${pattern}

appender.7.type = File
appender.7.name = DEBUG_LOG_FILE
appender.7.fileName = logs/debug.log
appender.7.layout.type = PatternLayout
appender.7.layout.pattern = ${pattern}

appender.8.type = File
appender.8.name = TRACE_LOG_FILE
appender.8.fileName = logs/trace.log
appender.8.layout.type = PatternLayout
appender.8.layout.pattern = ${pattern}

logger.0.name = de.hoelzer.all.log.console
logger.0.level = ALL
logger.0.appenderRef.0.ref = ALL_LOG_CONSOLE
logger.0.appenderRef.0.level = ALL

logger.1.name = de.hoelzer.all.log.file
logger.1.level = ALL
logger.1.appenderRef.0.ref = ALL_LOG_CONSOLE
logger.1.appenderRef.0.level = ALL

logger.2.name = de.hoelzer.off.log.file
logger.2.level = OFF
logger.2.appenderRef.0.ref = OFF_LOG_FILE
logger.2.appenderRef.0.level = OFF

logger.3.name = de.hoelzer.fatal.log.file
logger.3.level = FATAL
logger.3.appenderRef.0.ref = FATAL_LOG_FILE
logger.3.appenderRef.0.level = FATAL

logger.4.name = de.hoelzer.error.log.file
logger.4.level = ERROR
logger.4.appenderRef.0.ref = ERROR_LOG_FILE
logger.4.appenderRef.0.level = ERROR

logger.5.name = de.hoelzer.warn.log.file
logger.5.level = WARN
logger.5.appenderRef.0.ref = WARN_LOG_FILE
logger.5.appenderRef.0.level = WARN

logger.6.name = de.hoelzer.info.log.file
logger.6.level = INFO
logger.6.appenderRef.0.ref = INFO_LOG_FILE
logger.6.appenderRef.0.level = INFO

logger.7.name = de.hoelzer.debug.log.file
logger.7.level = DEBUG
logger.7.appenderRef.0.ref = DEBUG_LOG_FILE
logger.7.appenderRef.0.level = DEBUG

logger.8.name = de.hoelzer.trace.log.file
logger.8.level = TRACE
logger.8.appenderRef.0.ref = TRACE_LOG_FILE
logger.8.appenderRef.0.level = TRACE

rootLogger.level = ALL
rootLogger.appenderRef.0.ref = ALL_LOG_CONSOLE
rootLogger.appenderRef.0.level = ALL
rootLogger.appenderRef.1.ref = ALL_LOG_FILE
rootLogger.appenderRef.1.level = ALL
rootLogger.appenderRef.2.ref = OFF_LOG_FILE
rootLogger.appenderRef.2.level = OFF
rootLogger.appenderRef.3.ref = FATAL_LOG_FILE
rootLogger.appenderRef.3.level = FATAL
rootLogger.appenderRef.4.ref = ERROR_LOG_FILE
rootLogger.appenderRef.4.level = ERROR
rootLogger.appenderRef.5.ref = WARN_LOG_FILE
rootLogger.appenderRef.5.level = WARN
rootLogger.appenderRef.6.ref = INFO_LOG_FILE
rootLogger.appenderRef.6.level = INFO
rootLogger.appenderRef.7.ref = DEBUG_LOG_FILE
rootLogger.appenderRef.7.level = DEBUG
rootLogger.appenderRef.8.ref = TRACE_LOG_FILE
rootLogger.appenderRef.8.level = TRACE
При работе с этой конфигурацией я получаю все файлы журналов, созданные в каталоге log/. содержит сообщения всех уровней.

Код: Выделить всё

debug.log
содержит сообщения уровня INFO, даже если для регистрации не было выполнено никаких отладочных вызовов.

Код: Выделить всё

error.log
, Fatal.log, off.log и alert.log пусты.

Код: Выделить всё

info.log
содержит только сообщения уровня INFO, но формат немного отличается.

Код: Выделить всё

trace.log
содержит сообщения уровня INFO и TRACE.
Вопрос
Почему файлы трассировки.log и debug.log содержат сообщения INFO?

Подробнее здесь: https://stackoverflow.com/questions/798 ... log-levels
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»