在不使文件无效的情况下记录到以前的日志文件

时间:2017-12-22 01:08:20

标签: java file logging

我有一个Logger写入一个像这样的文件

Logger log = Logger.getLogger("App");
FileHandler fh = new FileHandler("logs/history.log");
log.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);

记录器无条件地始终记录到文件history.log。每次运行此程序时,它都会记录到此文件。当它运行时一切正常,它记录完全正常。但是,当您重新启动该程序时,此程序的新实例正在运行时,将删除此日志文件中的先前日志。它不会附加到此文件中最初的日志中。

我查看了GoogleStackOverflow以尝试找到一种方法来使其成为日志附加到之前的日志,但没有运气。

我如何能够将新程序实例中的日志附加到过去实例的日志中?换句话说,当程序的新实例运行时,如何使记录器不删除history.log的内容。

1 个答案:

答案 0 :(得分:1)

使用FileHandler(String, boolean)构建FileHandler,为true参数传递append

FileHandler fh = new FileHandler("logs/history.log", true);