如何刷新日志日志?

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

看文档看来,你可以configurationyajsw滚动它的日志时

已达到wrapper.logfile.maxsize

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

或者其中的一个条件

符合wrapper.logfile.rollmode

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

JVM – 与WRAPPER模式一样,日志文件将在Wrapper启动时滚动。 但是它也将在任何重新启动的JVM启动之前被滚动。 日志文件将不会有最大的大小,并将继续增长,直到包装器或JVM重新启动。

DATE – 当每个日志条目logging到一个文件时,它的时间戳与当前日志文件中的一个YYYYMMDD格式的标记进行比较。 每当这个date改变时,一个新的日志文件将被打开。 这有利于将特定date的所有日志条目分组到特定文件中。 在没有任何日志输出的日子里不会创build文件。

wrapper.logfile.maxfiles看起来也很有意思。

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