Когда закрывать и удалять FileHandler с журналированием Java - PullRequest
2 голосов
/ 24 октября 2011

Я использую API java.util.logging и привязываю несколько FileHandlers к именованному регистратору, чтобы записывать сообщения журнала в определенные файлы.Я вижу, что это создает файл lck (lock) для каждого файла журнала.Файл блокировки удаляется, когда я закрываю и удаляю FileHandler из именованного Logger.

Когда лучше всего закрыть FileHandler?Хочу ли я оставить его открытым, чтобы мне не приходилось создавать его экземпляр каждый раз, когда я хочу сделать какую-либо запись в журнал (что приведет к зависанию файла блокировки), или я должен закрывать и заново создавать его каждый раз, чтобы файл блокировки исчезал(кажется, немного тяжелым для ведения журнала).

Действительно вопрос о передовой практике.Я много использовал log4j, поэтому пытаюсь разобраться в различиях.

Спасибо,

Ed

1 Ответ

1 голос
/ 07 января 2012

Как упоминал Грей, обычно нет причин закрывать и открывать FileHandlers.

Если .lck не исчезнет после закрытия программы, вы можете попытаться закрыть обработчики файлов в Thread и добавить его в качестве завершения работы с Runtime.getRuntime().addShutdownHook().

...