11

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

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

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

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

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

4

2 回答 2

5

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

于 2011-04-05T03:15:50.357 回答
0

Windows 上的 logrotate 没有等效项(请参阅https://serverfault.com/questions/358172/equivalent-of-logrotate-for-windows)。因此,如果您打算在 Windows 上运行 Java 应用程序,log4j 是您配置日志轮换的唯一选择。

于 2013-09-18T12:35:49.667 回答