与其担心修改我已经编写的数据,我只会遵循历史悠久的传统,即在某个时间点开始一个新的日志文件,无论是当当前日志文件达到一定大小时,还是按计划(每小时,每天或以其他方式)。
只需将当前日志文件从 重命名为xyzzy.log
,xxyyz-YYYYMMDDHHMMSS.log
然后开始一个全新的xyzzy.log
.
这也为您在维护日志的完整审计和保留磁盘空间之间提供了一个不错的权衡。您可以设置程序来删除超过 30 天的日志文件,或将聚合大小保持在某个阈值以下,甚至将较旧的日志集中到辅助存储区域。
这些过程甚至不必成为您程序的一部分 - 过去,我只是有一个清理旧日志文件的计划任务,该任务与程序本身不共享任何内容,除了脚本所在的目录居住。
这可能是没有集成第三方产品的最简单方法(这并不总是可能的),并且由于日志文件几乎总是为程序员而不是用户提供,因此命名标准不应该太繁琐.
我过去使用过的一个非常简单的解决方案(诚然与 Linux 一起使用)实际上根本不用担心重命名。只需让日志功能使用当前日期打开文件,并记住日期是什么。之后每次调用 log 函数时,检查日期是否已更改,如果已更改,请打开一个新的日志文件以进行后续记录。这使您每天只需花费很少的精力即可获得一个日志文件。
然后我只是有脚本find -mtime
用来删除超过一定年龄的那些。