[英]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.