доступ к уровню ведения журнала lo4j из docker окружение переменной контейнера - PullRequest
0 голосов
/ 20 января 2020

Переменная, определяющая уровень ведения журнала, объявляется в файле docker, и когда я проверяю свой контейнер, я вижу свою переменную, даже когда я запускаю docker exe c container_id env | grep LOGGING_LEVEL | cut -d '=' -f2 я могу видеть значение, установленное для моей переменной, которое является WARN. Теперь в файле log4j.properties я использовал $ {LOGGING_LEVEL}, $ {sys: LOGGING_LEVEL}, $ {env: LOGGING_LEVEL}, и ничего не работало, я могу видеть в консольных журналах уровень отладки.

Root опция логгера

log4j.rootLogger = $ {LOGGING_LEVEL}, файл, stdout

Я использую log4j 1.2.17, мое веб-приложение работает в контейнере Tomcat, консоль intellij показывает мне логи, когда я запускаю проект, я даже проверяю в каталоге target / classes /, что log4j.properties был правильно отредактирован, но ничего не работает.

1 Ответ

0 голосов
/ 20 января 2020

Я думаю, что ваша переменная окружения не оценивается должным образом. Попробуйте: log4j.rootLogger=${env:LOGGING_LEVEL}, file, stdout.

См. Ответы на аналогичный вопрос здесь: Как указать путь переменной среды для файла appender в файле конфигурации в log4j

...