使用log4j或logrotate.d旋转的Linux-Java日志

时间:2011-04-05 02:05:18

标签: java linux logging log4j logrotate

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

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

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

  1. 我应该仅使用log4j进行日志记录并使用logrotate进行轮换吗?
  2. 仅使用log4j进行轮换?
  3. 混合使用两者?
  4. 你有什么经历?什么是最佳做法?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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