log4j rootlogger desligar logger para algumas classes
Pergunta
Como posso configurar uma log4j.properties com um rootlogger = debug, stdout, logfile
e org.apache.httpclient = debug
que vai para o arquivo de log, mas não o stdout?
elevar o rootlogger a informação não é aceitável como eu tenho outros pacotes no nível de depuração.
Solução
No arquivo log4j.properties
, adicione a linha
log4j.logger.org.apache.httpclient=DEBUG, logfile
para direcionar a saída org.apache.httpclient
logger para o appender logfile
.
Também incluem a linha
log4j.additivity.org.apache.httpclient=false
para evitar a saída org.apache.httpclient
logger vai appenders do rootLogger
.
Outras dicas
Seu poderia atingir essa funcionalidade usando filtros sobre os diferentes appenders. Eu acho que a LevelRangeFilter seria o que você está procurando.
No entanto, penso filtros só pode ser especificado se você está usando um arquivo xml para configuração e não são suportados quando se utiliza um arquivo .properties.