Logback: Предотвратить наследование приложения? Или: найти немаршрутизируемый логгер?

Я совершенно новичок в Logback и не могу найти ответ на основной концептуальный вопрос:

То, что я пытаюсь выполнить, это либо:

  • Предотвратить наследование приложения, т. е. запретить определенному регистратору использовать, например, корневой регистратор. Что-то вроде вето на использование определенного приложения.
  • Создайте своего рода "откатный" регистратор, который будет использоваться, если (и только) ни один элемент регистратора не соответствует основному правилу выбора.

Мотивация для этого заключается в том, что в моем случае использования мне не нужен огромный глобальный файл журнала. Вместо этого я разделил ведение журнала на небольшие блоки / файлы журнала. Моя проблема: я иногда делаю ошибки в своей логике разделения регистратора, в результате чего некоторые сообщения не отображаются в моих журналах (например, регистратор, полученный от LoggerFactory.getLogger("non-existent-logger")). Я, конечно, могу настроить приложение для корневого регистратора, но поскольку этот модуль наследуется для всех регистраторов, результирующий файл журнала будет огромным, и будет трудно отследить регистраторы, которые не были маршрутизированы в соответствии с моими правилами разделения. Итак, мой вопрос: как решить эту проблему в Logback?


person bluenote10    schedule 27.04.2014    source источник
comment
Посмотрите на SiftingAppender — вы можете разделить вывод в разные лог-файлы в зависимости от некоторых критериев.   -  person Boris the Spider    schedule 27.04.2014
comment
Я уже использую SiftingAppender в некоторых случаях для создания файлов журнала в зависимости от имени регистратора. Однако я вижу ту же фундаментальную проблему: применение приложения на корневом уровне по-прежнему приводит к нежелательному ведению журнала, поскольку я не хочу наследовать этот модуль для определенных конкретных регистраторов...   -  person bluenote10    schedule 27.04.2014
comment
Просто пересматриваю квест и каким-то образом я пропустил, что это дубликат этот. Приведенный там ответ буквально предотвращает наследование приложений, поэтому голосование за закрытие...   -  person bluenote10    schedule 07.03.2015