0

我们目前使用 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"); 
}

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

4

1 回答 1

1

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

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

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

于 2013-09-05T13:20:28.723 回答