我有一个在 docker 容器中运行的 spring 应用程序,我使用 log4j 进行日志记录。是否可以将日志写入外部文件? (我对 docker 很陌生)
另外,我不想将日志发送到stdout(然后使用docker输出到文件),是否可以通过其他方式解决问题? 如果不可能,我如何配置日志记录级别以便 docker 可以理解它们并输出?
最佳答案
要在 spring 中更改日志文件路径,您可以添加:
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
关于java - 我可以在 spring java 应用程序中使用 docker 登录到外部文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56108143/