我将我的jar文件作为服务部署在centos上并且它运行良好,但我需要旋转我的日志文件,使用logrotate这样做不起作用,因为没有输出发送到新的日志文件。
我正在使用logback,它正在登录文件appender,所以我的选项是
1-停止服务将控制台记录到日志文件并使用logback 2-如果可能,启用logrotate
答案 0 :(得分:2)
您必须在logrotate-config中使用copytruncate
选项。这对我来说就像一个魅力,但有一个小缺点,如联机帮助页中所述:
<强> copytruncate 强>
在创建副本后截断原始日志文件,而不是移动旧日志文件并选择创建新日志文件。当某些程序无法被告知关闭其日志文件时可以使用它,因此可以继续永久地写入(追加)到前一个日志文件。请注意,复制文件和截断文件之间的时间片非常小,因此某些日志记录数据可能会丢失。使用此选项时,create选项将不起作用,因为旧的日志文件保持不变。