Как создать эффективный регистратор в Java - PullRequest
0 голосов
/ 05 мая 2019

Я хочу создать собственный регистратор (для плагина Minecraft) для записи важных событий. Я также хочу, чтобы регистратор был несколько эффективнее с точки зрения производительности.

Какой правильный способ сделать это. Все, что у меня есть в качестве примера - это лог-файл майнкрафта и куча учебников, которые я прочитал. Но все они, кроме mc logger, кажутся неэффективными или имеют другие недостатки. Итак, мой вопрос:
"Какой самый лучший / goto / самый эффективный способ создания живого регистратора, который регистрирует в реальном времени файл? Вот несколько подходов, которые я нашел:

  1. Создайте весь регистратор самостоятельно. Всякий раз, когда вы хотите написать сообщение журнала, откройте файл -> запись -> закрыть файл.
  2. Используйте Java Logger с FileHandler() в качестве обработчика регистратора (Это создаст неприятный файл .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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...