如何清理旧的GC日志?

时间:2019-03-21 17:14:35

标签: unix garbage-collection logrotate

我正在尝试在Spring Boot应用程序中为使用-Xloggc选项生成的GC文件实现旋转逻辑。这就是我需要的

每当重新启动应用程序时,旧的application_gc.log都不会被覆盖。

我尝试使用内置日志轮换,其中日志文件名将为application_gc.0,.1等。但这也有最终覆盖旧文件的风险。

研究之后,我开始在日志文件名后附加%t,以便旧文件保持原样。

  

-Xloggc:/var/log/application_gc-%t.log

有了这个,这是几次重新启动应用程序后的日志文件列表。

  1. application_gc-2019-01-21_16-20-18.log
  2. application_gc-2019-01-28_11-27-11.log
  3. application_gc-2019-02-21_06-02-27.log
  4. application_gc-2019-03-01_10-34-09.log //当前文件 在上一次重启时写入的时间为2019年3月1日

此外,我想实施清除逻辑删除时间超过15天。因此,旋转后预期的ls输出是

  1. application_gc-2019-03-01_10-34-09.log

我尝试用适当的时间戳实现dateext,但由于它早于15天,因此甚至删除了上述文件。我还尝试使用“ find -name ... -mtime”选项进行postrotate,但是它也有同样的问题。

我不希望删除正在写入的最后一个文件。

我可能缺少一些基本知识。希望能得到专家的建议。预先感谢。

0 个答案:

没有答案