如何每日刷新日志?

如何每日刷新日志?

我正在运行一个名为 yajsw 的工具,它会生成一个名为 wrapper.log.0 的日志文件。一段时间后我注意到它变得太大,我也无法运行 zip 命令?我可以运行 cron 作业来每天将日志文件刷新到单独的每日日志文件中吗?有什么想法吗?

答案1

看看文档似乎你可以配置 yajsw 来滚动它的日志

wrapper.logfile.maxsize到达了

可以将 wrapper.log 文件设置为在文件达到指定大小时滚动。默认值 0 将禁用日志文件滚动。要滚动文件,请指定最大文件大小(以字节为单位)。大小可以用后缀“k”(表示千字节)或“m”(表示兆字节)缩写。例如,“10m”设置日志文件在达到 10 兆字节大小时滚动。

或以下情况之一

wrapper.logfile.rollmode满足

控制日志文件的滚动模式。可能的值包括:

JVM - 日志文件将在 Wrapper 启动时滚动,就像 WRAPPER 模式一样。但它也会在任何重新启动的 JVM 启动之前滚动。日志文件没有最大大小限制,并且会持续增长,直到 Wrapper 或 JVM 重新启动。

日期 - 当每个日志条目被记录到文件中时,其时间戳会与当前日志文件中 YYYYMMDD 格式的标记进行比较。每当此日期发生变化时,就会打开一个新的日志文件。这样做的好处是将特定日期的所有日志条目分组到特定文件中。在没有任何日志输出的日子不会创建文件。

wrapper.logfile.maxfiles看起来也很有趣且相关。

答案2

在 Linux 中,如果您在文件上有一个打开的文件句柄,则移动或删除文件不会影响文件句柄。因此,如果没有写入文件的进程的帮助,您无法轻松地旋转文件(它只会继续写入已删除的文件)。您需要调查 yajsw 以查看它是否支持重新打开日志文件。如果支持,您可以使用 logrotate(通常存在于 CentOS boxen 上)来旋转文件。

相关内容