gpt4 book ai didi

Java Logger 每次都会创建新的 txt 文件

转载 作者:行者123 更新时间:2023-12-02 11:47:24 25 4
gpt4 key购买 nike

#其他代码和随机发生器

if(outcome == 1){
Logger logger = Logger.getLogger("MyLog");
FileHandler fh;
fh = new FileHandler("C:\\Temp\\Dice_roll\\Logs.txt", true);
logger.addHandler(fh);
logger.setLevel(Level.ALL);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.log(Level.INFO, "Outcome 1.");
}

这应该向 txt 文件中添加更多文本,它确实做到了。但是,它还会生成另一个名为 Log.txt.1 的 txt 文件,然后如果我再次滚动它,则会生成 Log.txt.2 等等。我该如何解决这个问题?

任何帮助将不胜感激。

最佳答案

每次尝试记录时,您都会添加一个新的FileHandler。仅需完成一次!

您必须将 Logger 设置与其使用分开。

请注意,您的记录器必须声明为static final,否则它可能会被垃圾收集,并且您可能必须重新设置它。

设置代码

private static final Logger logger = Logger.getLogger("MyLog");
static {
FileHandler fh;
try {
fh = new FileHandler("C:\\Temp\\Dice_roll\\Logs.txt", true);
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
} catch (SecurityException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
logger.setLevel(Level.ALL);
}

记录

if(outcome == 1){
logger.log(Level.INFO, "Outcome 1.");
}

请注意,如果我是你,我宁愿使用 configuration file .

关于Java Logger 每次都会创建新的 txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com