Configurando os Registradores Log4j Programaticamente

Estou tentando usar o SLF4J (comlog4j binding) pela primeira ve

Gostaria de configurar três Loggers nomeados diferentes que podem ser retornados por um LoggerFactory que registrará níveis diferentes e enviará as mensagens para diferentes anexos:

Logger 1 "FileLogger" registra DEBUG e anexa aDailyRollingFileAppenderLogger 2 "TracingLogger" registra TRACE + e anexa a umJmsAppenderLogger 3 "ErrorLogger" registra ERRO + e anexa a umJmsAppender

lém disso, quero que eles sejam configurados programaticamente (em Java, em vez de XML ou umlog4j.properties Arquivo)

Imagino que, normalmente, eu definiria essesLogger está em algum código de inicialização, como uminit() método. No entanto, porque eu quero usarslf4j-log4j, Estou confuso sobre onde eu poderia definir os registradores e disponibilizá-los para o caminho da class

Eu nãoacredita isso é uma violação do objetivo subjacente do SLF4J (como fachada), porque meu código usando a API SLF4J nunca saberá que esses registradores existem. Meu código apenas faz chamadas normais para a API SLF4J, que as encaminha para os log4j Loggers que encontra no caminho de class

Mas como configuro esses registradores log4j no caminho de classe ... em Java?!

questionAnswers(6)

yourAnswerToTheQuestion