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