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