【发布时间】:2015-05-27 12:46:18
【问题描述】:
我想轮换已经由 logrotate 管理的日志。
然而,logrotate 仅用于每天轮换日志,因为它纯粹是一项 CRON 任务。
当文件大小超过 logrotate 配置文件的 size 参数中指定的大小时,我想执行 logrotate。我计划通过监视日志文件来实现相同的功能,并在日志文件的大小超过 logrotate 配置中指定的大小时执行 logrotate。
在 java 中执行此操作的最佳方法是什么?
【问题讨论】:
-
Unix
logrotate和size=100k应该可以,但我可能使用了错误的“logrotate”。 -
由于这个 logrotate 作为 cron 任务执行,它只会在指定的时间执行。到那时,如果文件的大小超过为 size 配置的值,则文件将被旋转。但我的要求是在文件大小超过配置值时调用此 logrotate。
-
这个日志文件在写什么?一些日志系统具有内置的日志轮换功能。
-
我们的代码是一个遗留代码,修改为使用任何日志框架是一项繁琐的任务来实现和进行测试。因此我选择通过添加逻辑来调用 logrotate 来坚持现有的功能。