0

我了解当达到特定大小时 Java FileHandler 如何滚动到下一个日志文件。我想要的有点不同。我想使用 FileHandler 来使用程序启动时序列中最后写入时间最早的日志文件。

例如,如果我指定使用 5 个日志文件:mylog.0.log、mylog.1.log...mylog.4.log

如果程序上次更新了 mylog.2.log,那么下次我启动程序时,我希望它开始记录到 mylog.3.log。

我要解决的问题是,当用户执行程序并且发生某些事情时,他们通常会重新启动程序,如果 mylog.0.log 可用,它将始终使用它而不是转到 mylog.1.log。我丢失了之前执行程序的信息。

4

1 回答 1

1

根据java.util.logging.FileHandler的文档:

通过在基本文件名中添加“0”、“1”、“2”等来为较旧的文件命名。

似乎暗示顺序将始终与您想要的相反。

看起来您唯一的选择是实现一个配置类来生成您想要的文件名并将其传递给 FileHandler。

您可以手动翻转日志文件,但不是按照您想要的顺序。

于 2016-09-02T13:02:44.347 回答