gpt4 book ai didi

java.util.Logger 创建的文件比应有的多

转载 作者:行者123 更新时间:2023-12-01 09:30:52 26 4
gpt4 key购买 nike

嗨,这是我使用 java.util.Logger 的 CustomLogger 类

public class CustomLogger {
private String pathToLogFiles = "/tmp/sos/logs/";
private Logger logger;

public CustomLogger(String prefix) {
logger = Logger.getLogger(prefix);

if( Utils.detectEnvironment() == Environment.LIVE ) {
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String filename = "log_" + date + ".txt";
FileHandler fileHandler = null;
try {
fileHandler = new FileHandler(this.pathToLogFiles + filename);
logger.addHandler(fileHandler);
fileHandler.setFormatter(new SimpleFormatter());
} catch (IOException e) {
logger.addHandler(new ConsoleHandler());
this.error(e.getMessage());
}
}
else {
logger.addHandler(new ConsoleHandler());
}
}

public void info(String message) {
logger.info(message);
}

public void error(String message) {
logger.warning(message);
}
}

在开发环境中,记录到控制台工作正常,但在实时环境中,而不是记录到一个文件,因为它应该创建 12 个不同的文件,其中包含每条发送的日志消息的 xml。

:/tmp/sos/logs# ls
log_2016-09-09.txt log_2016-09-09.txt.1.lck log_2016-09-09.txt.2.lck log_2016-09-09.txt.3.lck log_2016-09-09.txt.4.lck log_2016-09-09.txt.5.lck log_2016-09-09.txt.6.lck
log_2016-09-09.txt.1 log_2016-09-09.txt.2 log_2016-09-09.txt.3 log_2016-09-09.txt.4 log_2016-09-09.txt.5 log_2016-09-09.txt.6 log_2016-09-09.txt.lck

有人可以告诉我那里出了什么问题吗?

谢谢

最佳答案

每次执行 CustomLogger 构造函数时,您都会创建并打开一个新的 FileHandler。您需要确保仅创建和添加 FileHandler once每个 JVM 进程。

否则,你需要在opening a new FileHandler之前确定一个合适的时间关闭之前的FileHandler。 .

关于java.util.Logger 创建的文件比应有的多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39414142/

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