如何在Java中创建性能记录器

时间:2019-05-05 00:04:31

标签: java logging

我想创建一个自定义记录器(用于Minecraft插件)来记录重要事件。我还希望记录器在性能方面有所提高。

执行此操作的适当方法是什么。我所举的一个例子就是我的世界日志文件和我读过的一堆教程。但是,除了mc logger之外,它们似乎都效率低下或存在其他缺点。 所以我的问题是:
“创建实时记录器并实时记录到文件的最佳/转到/最有效的方法是什么? 这是我发现的一些方法:

  1. 自己创建整个记录器。每当您要编写日志消息时,请打开文件->写入->关闭文件。
  2. 使用带有FileHandler()的Java Logger作为记录器的处理程序(这将创建一个讨厌的.lck文件,这将使该日志文件不可用。
  3. 无论何时要将消息写入日志文件,都创建一个新的FileHandler()->将其添加到记录器->编写消息->从记录器中将其作为处理程序删除->关闭FileHandler。 (就性能而言,这似乎超级慢)
public void info(String message) {
    try {
        this.logFile = new FileHandler("logs" + File.separator + fileName + ".log", true);
        this.logFile.setFormatter(new SimpleFormatter());
    } catch (IOException e) {
        e.printStackTrace();
    }
    this.logger.addHandler(this.logFile);
    this.logger.info(message);
    this.logger.removeHandler(this.logFile);
    this.logFile.close();
}
     5,

0 个答案:

没有答案