Я пытаюсь использовать 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?!