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

标签 java file overwrite

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");
}

此代码应该(在底部)将“绿色结果 1”放入文件中,但每次运行程序时它都会覆盖该文件。我如何才能将文本放入文件中,但不覆盖它?任何帮助将不胜感激。

最佳答案

您应使用append:true FileHandler 为:

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).

关于每次我尝试将文本放入日志文件时,Java Logger 都会覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46409161/

相关文章:

file - 解码 MPO 立体图像文件中的 mpf exif block

c++ - Ifstream 在打开文件时崩溃程序

C 数组被覆盖/删除?很困惑

java - GooglePlay 服务 AdMob

java - Apache Crunch是否随附Hadoop MapReduce API?

java - 如何从 MyBatis 查询返回可选值

javascript - 包装函数和 function.length

java - Firebase - 如何确保已通过身份验证的用户不会再次进行身份验证?

c++ - 如何阻止编译器删除我的函数

python - 覆盖以前提取的文件而不是创建新文件