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: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).
试试这个
FileHandler fileLog = new FileHandler("Logs.log",true);
改变这个:
FileHandler fileLog = new FileHandler("Logs.log");
至此
FileHandler fileLog = new FileHandler("Logs.log", true);
请注意,第二个参数指定了可选的追加参数。当您设置为 true 时,您将在文件末尾写入,而不会覆盖它。
查看文档:Documentation
尝试使用允许您为追加模式指定布尔参数的 FileHandler constructor。
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: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).
试试这个
FileHandler fileLog = new FileHandler("Logs.log",true);
改变这个:
FileHandler fileLog = new FileHandler("Logs.log");
至此
FileHandler fileLog = new FileHandler("Logs.log", true);
请注意,第二个参数指定了可选的追加参数。当您设置为 true 时,您将在文件末尾写入,而不会覆盖它。
查看文档:Documentation
尝试使用允许您为追加模式指定布尔参数的 FileHandler constructor。