Конфигурирование Log4j Loggers программно
Я пытаюсь использовать SLF4J (сlog4j
обязательна) впервые.
Я хотел бы настроить 3 разных именованных регистратора, которые могут быть возвращены LoggerFactory, который будет регистрировать разные уровни и отправлять сообщения разным приложениям:
Logger 1 "FileLogger" регистрирует DEBUG и добавляет кDailyRollingFileAppender
Logger 2 "TracingLogger" регистрирует TRACE + и добавляет кJmsAppender
Logger 3 «ErrorLogger» регистрирует ОШИБКУ + и добавляет к другомуJmsAppender
Кроме того, я хочу, чтобы они были настроены программно (в Java, в отличие от XML илиlog4j.properties
файл).
Я думаю, что, как правило, я бы определил этиLogger
где-то в некотором загрузочном коде, какinit()
метод. Однако, потому что я хочу использоватьslf4j-log4j
Я не понимаю, где я могу определить регистраторы и сделать их доступными для classpath.
Я неверить это нарушение основной цели SLF4J (как фасад), потому что мой код, использующий API SLF4J, никогда не узнает о существовании этих регистраторов. Мой код просто выполняет обычные вызовы API SLF4J, который затем перенаправляет их в Log4j Loggers, которые он находит на пути к классам.
Но как мне настроить эти log4j Loggers на пути к классам ... в Java ?!