Я хочу создать собственный регистратор (для плагина Minecraft) для записи важных событий. Я также хочу, чтобы регистратор был несколько эффективнее с точки зрения производительности.
Какой правильный способ сделать это. Все, что у меня есть в качестве примера - это лог-файл майнкрафта и куча учебников, которые я прочитал. Но все они, кроме mc logger, кажутся неэффективными или имеют другие недостатки.
Итак, мой вопрос:
"Какой самый лучший / goto / самый эффективный способ создания живого регистратора, который регистрирует в реальном времени файл?
Вот несколько подходов, которые я нашел:
- Создайте весь регистратор самостоятельно. Всякий раз, когда вы хотите написать сообщение журнала, откройте файл -> запись -> закрыть файл.
- Используйте Java Logger с
FileHandler()
в качестве обработчика регистратора (Это создаст неприятный файл .lck, который сделает файл журнала неактивным.
- Всякий раз, когда вы хотите записать сообщение в файл журнала, создайте новый
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();
}