我可以在Spring Java App中使用Docker登录到外部文件吗?

时间:2019-05-13 08:09:32

标签: java spring docker

我有一个运行在docker容器中的spring app,我使用log4j进行日志记录。是否可以将日志写入外部文件? (我是Docker的新手)

此外,我不想将日志发送到stdout(然后使用docker输出到文件),是否可以通过其他方式解决问题? 如果不可能,我该如何配置日志记录级别,以便docker能够理解它们并输出?

1 个答案:

答案 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