繁体   English   中英

Docker + Log4j最佳实践

[英]Docker+Log4j best practice

我正在构建一个通过java -jar myJar.jar entrypoint命令在open-jdk java -jar myJar.jar上运行的小型Java应用程序。 我想使用Log4j添加日志记录配置。
这是我应该知道的?

1.将log4j.xml保留在单独的源文件夹中,例如src / resource。
2.将log4j.xml保留在docker的JAR文件之外,以允许在运行时进行配置。
3.让JVM知道log4j.xml文件在哪里(可能使用类路径)。

有多种方法可以实现-可以通过jar -jar命令的参数配置log4j.xml位置,可以将其添加到mvn插件中,也可以作为命令添加到Dockerfile中(可能吗?)。

是否有最佳实践,所有这些配置都应包含在pom.xml / Dockerfile / Docker入口点命令中?

据我了解,根据Mihai的评论和其他资源,应该构建Docker映像以支持在容器午餐时将包含的日志记录配置(例如,使用docker run参数)。 这样,映像足够灵活以支持不同的调试级别。
与非dockerized log4j通常如何工作(或我对它的理解)相反,现在,更改调试级别包括使用相同的映像和不同的运行时配置,停止运行中的旧容器并用一个新的午餐。
例如,如果映像名称是dockerTestImage。 我们首先要做类似的事情:
docker run -DebugLevel=INFO dockerTestImage
然后,如果出于任何原因希望更多日志记录,我们将停止旧容器并使用docker run -DebugLevel=DEBUG dockerTestImage运行一个新容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM