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

hnv*_*iet 11 java linux logging log4j logrotate

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

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

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

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

你有什么经历?什么是最佳做法?

Ste*_*rea 5

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

  • 您是否发现这样的配置很麻烦?您需要保留非常依赖的配置集。例如旋转规则,如大小或频率,您将log4j保留在log4中的次数,压缩等。您是否可能尝试过log4j的压缩模块? (2认同)