Java FileHandler和滚动日志文件

时间:2016-09-02 11:14:14

标签: java logging filehandler

我了解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。我丢失了之前执行该程序的信息。

1 个答案:

答案 0 :(得分:0)

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

  

通过在基本文件名中添加" 0"," 1"," 2"等来命名旧文件。

似乎暗示订单总是与你想要的相反。

看起来您唯一的选择就是implement a config class生成所需的文件名并将其传递给FileHandler。

您可以manually rollover a log file但不能按照您想要的顺序。