Java Spring boot on docker 日志记录滚动策略不限制日志归档的数量



当我在多台服务器上运行一些测试实例时,我在一些位置遇到空间不足的问题,当我检查时,这是记录器的问题。我使用@Slf4j注释进行日志记录。

这是我的日志配置:

# Logging
logging.level.root=INFO
logging.level.web=INFO
logging.logback.rollingpolicy.max-file-size=20MB
logging.file.name=logs/ims-app.log
logging.file.path=logs
logging.logback.rollingpolicy.max-history=7

docker中的最新日志:

/logs # ls -lah
total 7M
drwxr-xr-x    2 root     root        4.0K Sep 22 17:40 .
drwxr-xr-x    1 root     root        4.0K Sep 22 11:26 ..
-rw-r--r--    1 root     root      543.8K Sep 22 17:41 ims-app.log
-rw-r--r--    1 root     root      507.2K Sep 22 11:52 ims-app.log.2022-09-22.0.gz
-rw-r--r--    1 root     root      507.1K Sep 22 12:21 ims-app.log.2022-09-22.1.gz
-rw-r--r--    1 root     root      495.6K Sep 22 16:21 ims-app.log.2022-09-22.10.gz
-rw-r--r--    1 root     root      497.5K Sep 22 16:48 ims-app.log.2022-09-22.11.gz
-rw-r--r--    1 root     root      495.7K Sep 22 17:14 ims-app.log.2022-09-22.12.gz
-rw-r--r--    1 root     root      496.6K Sep 22 17:40 ims-app.log.2022-09-22.13.gz
-rw-r--r--    1 root     root      496.2K Sep 22 12:48 ims-app.log.2022-09-22.2.gz
-rw-r--r--    1 root     root      499.8K Sep 22 13:15 ims-app.log.2022-09-22.3.gz
-rw-r--r--    1 root     root      497.8K Sep 22 13:42 ims-app.log.2022-09-22.4.gz
-rw-r--r--    1 root     root      498.6K Sep 22 14:09 ims-app.log.2022-09-22.5.gz
-rw-r--r--    1 root     root      499.5K Sep 22 14:36 ims-app.log.2022-09-22.6.gz
-rw-r--r--    1 root     root      498.2K Sep 22 15:03 ims-app.log.2022-09-22.7.gz
-rw-r--r--    1 root     root      496.7K Sep 22 15:29 ims-app.log.2022-09-22.8.gz
-rw-r--r--    1 root     root      496.4K Sep 22 15:56 ims-app.log.2022-09-22.9.gz

在这个问题之后,我决定使用elk进行集中日志记录,但这个问题在java方面仍然会继续。如何限制一个实例的日志文件数量。我仍然想将最近的日志保存为文件,但在30天内它超过了19GB(在开发服务器上(,对此有什么建议吗?

您不应该在运行的容器中生成日志文件。只需指示log4j写入标准输出即可。这是一个很好的做法。

如果您需要这些文件,请映射一个卷并将文件保存在该文件夹中。这样,您的容器就不会受到影响,唯一的问题是主机上的空间。

最新更新