Страницы

Поиск по вопросам

пятница, 1 марта 2019 г.

Логирование в разные файлы

Есть такой properties файл
.level = FINE my.handlers = java.util.logging.ConsoleHandler my.name1.handlers = java.util.logging.FileHandler my.name2.handlers = java.util.logging.FileHandler
java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = my.log.LogFormatter java.util.logging.FileHandler.formatter = my.log.LogFormatter java.util.logging.FileHandler.pattern = log_%u.log
Вопрос, можно ли как-то развести по разным файлам логи от my.name1 и my.name2?
Или только написанием наследника FileHandler с перекрытием метода publish?


Ответ

В общем случае конфигурацией вы вашу задачу не решите. Если вы конфигурируете логирование Tomcat, то там такая возможность есть. Если нет - можно этого добиться, сконфигурировав логгеры в Java:
Logger log1 = Logger.getLogger("my.name1"); log1.addHandler(new FileHandler("my.name1.log")); Logger log2 = Logger.getLogger("my.name2"); log2.addHandler(new FileHandler("my.name2.log"));
Если есть такая возможность, постарайтесь отказаться от java.util.logging в пользу более гибкой библиотеки логирования. В log4j и Logback возможность разводить разные логи в разные файлы есть из коробки. А если вы воспользуетесь slf4j, то сможете при необходимости относительно безболезненно сменить библиотеку логирования, не модифицируя код.

Комментариев нет:

Отправить комментарий