Как указать файл конфигурации Log4j2 в весенней загрузке приложения - PullRequest
0 голосов
/ 20 июня 2019

Я использую log4j2 в моем приложении для весенней загрузки. Это работает во всех отношениях: исключая slf4j, включая log4j2 и т. Д.

Но когда приложение развертывается, мне нужно настроить файл для каждого целевого хоста. Я создал ответную роль, которая делает это. В конечном итоге я получаю файл log4j2.xml, развернутый в другом каталоге, например /prod/produsrX/data/log4j2.xml.

Я использую цель "repackage" модуля spring-boot-maven-plugin для создания исполняемого файла JAR. Не похоже, чтобы это имело значение, но это вопрос данных в проблеме.

Это должна была быть самая легкая часть проекта. Всегда до того, как я только что смог установить -Dlog4j.configurationFile - совет, который повторяется примерно на 3000 веб-страницах и НЕ РАБОТАЕТ в Spring Boot 2.1.3.

Самая полезная информация, которую я нашел, это этот вопрос . В нем говорится об использовании -Dlogging.config, поскольку ведение журнала должно быть инициализировано до прочтения других свойств. К сожалению, это тоже не помогло.

Я нашел один пример, в котором предлагалось указать вышеуказанный каталог в параметре -classpath для java. Но это тоже не помогло.

Кто-нибудь знает, как заставить приложение весенней загрузки прочитать файл log4j2.xml?

1 Ответ

0 голосов
/ 20 июня 2019

Свойство фактически должно быть помещено в контекст приложения (например, application.yml).Использование свойства -D не работает!

ведение журнала: config: /prod/produsrX/data/log4j2.xml # полное имя вашего log4j.xml

...