Значение по умолчанию для входа в систему, если параметр времени выполнения не указан - PullRequest
1 голос
/ 08 апреля 2019

У меня есть этот conf в моем logback.xml:

<logger name="L1" additivity="false">
    <appender-ref ref="${SELECTED_CONSOLE}" />
</logger>

<root level="${LOG_LEVEL}">
    <appender-ref ref="${SELECTED_CONSOLE}" />
</root>

Моя проблема в том, что в некоторых env, если переменная LOG_LEVEL не была определена, каким будет уровень журнала L1?

1 Ответ

0 голосов
/ 09 апреля 2019

Если параметр LOG_LEVEL не определен, Logback будет воспринимать это как строку:

LOG_LEVEL_IS_UNDEFINED

Logback превратит это значение в ch.qos.logback.classic.Level.DEBUG (см. Реализацию ch.qos.logback.classic.Level.toLevel())

Итак, ваш уровень корневого логгера будет DEBUG, и, поскольку логгер L1 не имеет объявленного уровня, он унаследует этот уровень. Таким образом, если LOG_LEVEL не определено, то уровень журнала для L1 будет: DEBUG.

Тот факт, что аддитивность L1 ложна, не меняет этого; Аддитивность не позволяет родителям регистратора L1 использовать свои приложения для отображения сообщения, это не влияет на логический уровень журнала.

...