Что означает "статус" в конфигурации Log4j2?


Я только что закончил настройку log4j2.xml-файл конфигурации и заметил что-то, чего я на самом деле не понимаю. Так что же такое <Configuration status="SOME_STATUS_HERE">?

Почти во всех примерах здесь : http://logging.apache.org/log4j/2.x/manual/configuration.html люди из Apache добавили статус в конфигурацию.

Например, вот первый:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"> <!--status="WARN" - what is this???--> 

 <Appenders>
  <Console name="Console" target="SYSTEM_OUT">
   <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
  </Console>
 </Appenders>

 <Loggers>
  <Root level="error">
   <AppenderRef ref="Console"/>
  </Root>
 </Loggers>

</Configuration>
3 41

3 ответа:

Регистратор состояния используется внутренне компонентами log4j2. Установка status="debug" (или" трассировка") в конфигурации приведет к тому, что этот внутренний журнал будет выведен в командную строку.

Он выведет отладочную информацию о том, какие компоненты плагина log4j2 загружены (все элементы конфигурации сопоставляются с плагинами log4j2), и более подробную информацию, например, какие приложения и регистраторы были найдены, какие параметры у них есть и как они объединены.

Это полезно для устранения неполадок проблемы конфигурации.

Из Log4j 2.9 вы можете использовать системное свойство log4j2.debug (не требуется значение), чтобы включить внутреннее ведение журнала состояния Log4j2 еще до загрузки файла конфигурации. До версии 2.9 то же самое можно было сделать с системным свойством -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE.

Если кому-то интересно, где атрибуты элемента Log4j2 XML <Configuration> упоминаются в документации Log4j2, я подумал, что было бы полезно предоставить ссылку здесь. Смотрите также снимок списка атрибутов ниже:

Атрибуты элемента конфигурации

И в случае, если кто-то ищет правильные уровни для атрибута status, они: "trace", "debug", "info", "warn", "error" и "fatal".

Конфигурация Log4j2