Docker + Log4j лучшие практики - PullRequest
       7

Docker + Log4j лучшие практики

1 голос
/ 02 апреля 2019

Я создаю небольшое приложение Java, которое запускается в докере open-jdk с помощью команды java -jar myJar.jar entrypoint.Я хотел бы добавить конфигурацию ведения журнала, используя Log4j.
Вот что я знаю (?), Что я должен сделать:

1. Сохраните log4j.xml в отдельной папке с исходными файлами, например, src / resource.
2. Сохраните log4j.xml вне файла JAR в докере, чтобы разрешить настройку во время выполнения.
3. Дайте знать JVM, где находится файл log4j.xml (возможно, с использованием classpath).

ЕстьЕсть несколько способов добиться этого - местоположение log4j.xml можно настроить с помощью аргумента команды jar -jar, его можно добавить в плагин mvn, его можно добавить как команду в Dockerfile (возможно?).

Есть ли рекомендация, при которой все эти конфигурации должны быть включены в команду точки входа pom.xml / Dockerfile / Docker?

1 Ответ

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

Из того, что я понимаю, следуя комментариям Михая и другим ресурсам, следует, что образ докера должен быть создан для поддержки конфигурации журналирования, которая будет включена при запуске контейнера (например, с использованием аргументов запуска докера).Таким образом, образ достаточно гибок, чтобы поддерживать разные уровни отладки.
В отличие от того, как обычно работает не докеризованный log4j (или мое понимание этого) - изменение уровня отладки теперь включает остановку старого запущенного контейнера и запуск нового,использование того же изображения с другой конфигурацией во время выполнения.
Например, если имя изображения - dockerTestImage.Сначала мы сделаем что-то вроде:
docker run -DebugLevel=INFO dockerTestImage.
Затем, если по какой-либо причине мы захотим вести подробное ведение журнала, мы остановим старый контейнер и запустим новый, используя docker run -DebugLevel=DEBUG dockerTestImage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...