Estoy tratando de usar SLF4J (con log4j
enlace) por primera vez.
Me gustaría configurar 3 Loggers con nombre diferentes que pueden ser devueltos por un LoggerFactory que registrará diferentes niveles y enviará los mensajes a diferentes apéndices:
- Logger 1 "FileLogger" registra DEPURACIÓN y se agrega a
DailyRollingFileAppender
- Logger 2 "TracingLogger" registra TRACE + y se agrega a un
JmsAppender
- Logger 3 "ErrorLogger" registra ERROR + y se agrega a un archivo diferente
JmsAppender
Además, los quiero configurados mediante programación (en Java, a diferencia de XML o un log4j.properties
archivo).
Me imagino que, normalmente, definiría estos Logger
s en algún lugar de algún código de arranque, como un init()
método. Sin embargo, debido a que quiero usar slf4j-log4j
, estoy confundido acerca de dónde podría definir los registradores y ponerlos a disposición del classpath.
No creo que esto sea una violación del propósito subyacente de SLF4J (como fachada), porque mi código que usa la API SLF4J nunca sabrá que existen estos registradores. Mi código solo realiza llamadas normales a la API SLF4J, que luego las reenvía a los Log4j Loggers que encuentra en el classpath.
¿Pero cómo configuro esos Log4j Loggers en el classpath ... en Java?