【发布时间】:2020-05-16 12:00:31
【问题描述】:
我已经为我的 Spring 启动应用程序配置了一个 Docker 镜像。我还使用 log4j.xml 配置了日志。但是,在运行 docker 映像时,日志既不会打印在 docker 日志中,也不会打印在 log4j.xml 中指定的位置。
下面是我的 Dockerfile
FROM openjdk:8
ADD <relative path to jar>/jar-name.jar jar-name.jar
ADD <relative path to property file>/application.properties /app/application.properties
ADD <relative path to log4j file>/log4j2-8081.xml /logs/log4j2-8081.xml
ENV JAVA_OPTS="8080"
ENTRYPOINT ["java", "-Dapp.home=classpath:file:/app/", "-
Dlog4j.configurationFile=classpath:file:/logs/log4j2-8081.xml", "-jar", "jar-name.jar"]
执行docker run命令时需要传递log4j.xml文件路径。 提前致谢
Docker 运行命令:-
docker run -p 8081:8081 -e JAVA_OPTS=-Dserver.port=8081 rdsstg
【问题讨论】:
-
你在 log4j 中的日志路径目录是什么?您将需要在 Docker 中创建目录并重试。此外,当您运行 spring 应用程序时,日志配置是什么 - 在控制台或文件上打印。如果是文件,目录应该存在
-
我想在容器外创建日志。在系统的位置 /log 中。
标签: java spring-boot docker logging log4j2