gpt4 book ai didi

java - 如何在每次方法执行时创建(和写入)新的日志文件?

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

我们当前使用 SLF4J 进行日志记录。到目前为止,我们每个作业都有一个记录器。作业是一个简单的 Java 类,它有一个方法execute()。现在需要在每次作业运行时创建一个新的日志文件。因此,应该创建一个名称中包含当前时间的新日志文件,并且需要在 export() 方法调用期间记录必要的信息。

尽我所能:

void export(){
Logger LOG = LoggerFactory.getLogger("*current time hh:ss*");
LOG.addHandler(new FileHandler("*current time hh:ss*.log"));
LOG.info("something");
}

但我不确定随着记录器数量的增加是否存在内存泄漏。还有其他办法吗?

最佳答案

Logger 是为有限数量的记录器而设计的,这些记录器在应用程序的生命周期内都存在。

如果您希望每个作业都有一个新文件,我只需创建一个新的 FileWriter 并写入它并在完成后关闭。

顺便说一句:如果这对您很重要,每次创建新文件都会使性能降低约 20 毫秒。

关于java - 如何在每次方法执行时创建(和写入)新的日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18637374/

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