Практическое использование селекторов контекста Logback
Документация по Logbackразделение каротажа указывает на то, что я могу использоватьселекторы контекста создавать разные конфигурации регистрации на одной и той же JVM. Каким-то образом контекстный селектор позволит мне позвонитьLoggerFactory.getLogger(Foo.class)
и, в зависимости от контекста, я получу регистратор с другой конфигурацией.
К сожалению, примеры имеют дело только с JNDI в контексте специально настроенного веб-сервера, такого как Tomcat или Jetty. Я хочу знать, как я могу фактически использовать селектор контекста самостоятельно, например в не-веб-приложении.
Моя цель состоит в том, чтобы на одной и той же JVM было несколько конфигураций регистрации. Вот один сценарий:
Я хочу один поток, чтобы получить регистраторы, используя по умолчаниюlogback.xml
Конфигурация на пути к классам.Я хочу, чтобы другой поток получал регистраторы, использующие другойlogback.xml
из пользовательского каталога.Я хочу третий поток, чтобы получить регистраторы из программной конфигурации.Я привожу эти примеры сценариев только для того, чтобы получить представление опрактическое использование селекторов контекста --- как я могу сделать что-то полезное с ними в реальной жизни.
Как я могу использовать контекстные селекторы для реализации сценариев выше, чтобыLoggerFactory.getLogger(Foo.class)
возвращает логгер из правильной конфигурации на основе потока?Если контекстные селекторы не соответствуют задаче, как я могу вручную получитьILoggerFactory
экземпляр, который дал бы мне регистраторы из программной конфигурации?