Страницы

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

суббота, 11 января 2020 г.

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

#java #логирование


Есть такой 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?
    


Ответы

Ответ 1



В общем случае конфигурацией вы вашу задачу не решите. Если вы конфигурируете логирование 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, то сможете при необходимости относительно безболезненно сменить библиотеку логирования, не модифицируя код.

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

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