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

212
26 июля 2018, 00:30

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

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

READ ALSO
Перенос textView из одного LinearLayout в другой

Перенос textView из одного LinearLayout в другой

У меня есть два LinearLayout в которых есть несколько textView, первое поле имеет определённый размерЕсть ли возможность по заполнению первого поля,...

188
Запуск/остановка на конкретную дату

Запуск/остановка на конкретную дату

День добрыйВозникла необходимость создания планировщика заданий

196
Mockito тестирование

Mockito тестирование

Тестирую метод 1В методе 1 есть статический вызов метода 2 на объекте другого класса

177
AndroidStudio unit tests

AndroidStudio unit tests

Как протестировать работу кнопок с помощью Espresso,когда они создаются программно и их не запустить с помощью resource idC помощью classname так же не проверить...

199