Java 每次我尝试将文本放入日志文件时,记录器都会覆盖

Java Logger overwrites everytime I try to put text in a log file

int good = (int )(Math.random() * 6 + 1);
if(good == 1){
    JOptionPane.showMessageDialog(frame, "Green result 1");
    Logger logger = Logger.getLogger(DiceRoll.class.getName());
    FileHandler fileLog = new FileHandler("Logs.log");
    logger.addHandler(fileLog);
    logger.log(Level.INFO, "Green result 1");
}

这段代码应该(在底部)将 "Green result 1," 放入文件中,但每次我 运行 程序时它都会覆盖文件。我如何让它把文本放入文件中,但不覆盖它?任何帮助将不胜感激。

您应使用 append:trueFileHandler 作为:

FileHandler fileLog = new FileHandler("Logs.log", true);

其中

java.util.logging.FileHandler.append specifies whether the FileHandler should append onto any existing files (defaults to false).

试试这个

FileHandler fileLog = new FileHandler("Logs.log",true);

改变这个:

FileHandler fileLog = new FileHandler("Logs.log");

至此

FileHandler fileLog = new FileHandler("Logs.log", true);

请注意,第二个参数指定了可选的追加参数。当您设置为 true 时,您将在文件末尾写入,而不会覆盖它。

查看文档:Documentation

尝试使用允许您为追加模式指定布尔参数的 FileHandler constructor