gpt4 book ai didi

Java Logger 不轮换日志文件

转载 作者:行者123 更新时间:2023-11-28 22:18:34 26 4
gpt4 key购买 nike

我在 RHEL 7 上使用 Tomcat 8.0.21。在我的 Java 代码中,我使用 java.util.logging.Logger 登录到一个文本文件。

永远只有一个日志文件。如果我重新启动 Tomcat,日志记录会从那一刻再次开始,之前的所有日志都会消失。

我按照指示在文件名中添加了 %g here但它只将 0 添加到文件名并且不会发生旋转。

这是我创建 FileHandler 的代码。 strFilePath 值例如是“/tmp/mylog.log”。 LogFormatter 是我自己的类。

// Need to set format with own formatter class to get plain text to one line (default format is XML).
FileHandler file_handler = new FileHandler(strFilePath);
file_handler.setFormatter(new LogFormatter());
logger.addHandler(file_handler);

在我的 Windows 7 笔记本电脑上,日志轮换使用相同的代码和 Tomcat 版本。

如何在我的 RHEL 服务器上启用 Java Logger 日志文件轮换?

编辑: 我想我可以在构造 FileHandler 时将时间戳添加到文件名。我要试试看。

最佳答案

FileHandler 仅在超过限制(或无法锁定文件)时才旋转。如果您想按时间轮换文件,则必须为此编写代码。如果您只想触发轮换,则只需在打开实际文件处理程序之前创建一个限制为零字节的一次性文件处理程序。

new FileHandler(pattern, 0, 1, false).close();

关于Java Logger 不轮换日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32859752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com