我有一个运行在docker容器中的spring app,我使用log4j进行日志记录。是否可以将日志写入外部文件? (我是Docker的新手)
此外,我不想将日志发送到stdout(然后使用docker输出到文件),是否可以通过其他方式解决问题? 如果不可能,我该如何配置日志记录级别,以便docker能够理解它们并输出?
答案 0 :(得分:3)
要在春季更改日志文件路径,您可以添加:
logging:
file: /my/path/file.log
在您的application.yaml
日志文件将在您的容器内创建。如果要在容器外部访问文件,请在Docker映像中创建一个卷:https://docs.docker.com/storage/volumes/
例如:
-v /my/real/path/:/my/container/path/
Docker不了解日志记录级别,但是您可以将环境变量放入application.yaml中:
logging.level.root: ${LOGGING_LEVEL}
然后使用-e将其传递给docker映像:
-e LOGGING_LEVEL=DEBUG