java - 使用 log4j 或 logrotate.d 轮转 Linux-Java 日志

标签 java linux logging log4j logrotate

我有一个在 Linux(Debian、Ubuntu 和 RHEL)上使用 log4j 的 Spring 项目。现在我想为 log4j 生成的日志实现最佳实践日志轮换。

我以前曾将 logrotate.d 用于其他非 java 组件,它对我来说效果很好。我需要按大小/时间旋转并压缩旧日志,而 logrotate 可以完成所有这些。

我是 log4j 的新手,现在想知道我应该如何配置日志轮换。

  1. 我是否应该只使用 log4j 进行日志记录,而使用 logrotate 进行轮换?
  2. 仅使用 log4j 进行轮换?
  3. 混合使用两者?

你的经验是什么?最佳做法是什么?

最佳答案

一般来说,我通常使用 log4j 进行日志记录和初始轮换,而我使用 logrotate 进行压缩和归档。原因是我尝试保留日志记录规则,包括要记录的文件、大小、命名约定等与应用程序相关联。 然后我尝试将 sysadmin 类型配置,比如保留多少,何时压缩,何时移动到 logrotate 中的备份目录。

关于java - 使用 log4j 或 logrotate.d 轮转 Linux-Java 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546377/

相关文章:

python - 如何使用日志记录 Python 模块写入文件?

php cli守护进程无法获取日志

java - java中多线程的机制

java - 无法在控制台模式下通过 java exec 命令运行 JMeter 5.0

java - Android:当我运行该应用程序时,它崩溃了

linux - 在我的代码末尾进行系统调用后出现程序集段错误

linux - 使用 apt 或其他命令的好处?

java - 即使使用错误的 http 代码 403、404 等,也可以使用 HttpUrlConnection 检索数据

linux - 使用 bash 编辑文本文件并显示输出

mysql:错误:使用了选项 'debug=d:t:o,/var/log/list.log',但已禁用