log4j rootlogger desactiva el registrador para algunas clases
Pregunta
¿Cómo puedo configurar un log4j.properties con un rootlogger = debug, stdout, logfile
y org.apache.httpclient = debug
que va al archivo de registro pero no a la salida estándar.
subir el rootlogger a la información no es aceptable ya que tengo otros paquetes en el nivel de depuración.
Solución
En el archivo log4j.properties
, agregue la línea
log4j.logger.org.apache.httpclient=DEBUG, logfile
para dirigir la salida del registrador org.apache.httpclient
al logfile
appender.
También incluye la línea
log4j.additivity.org.apache.httpclient=false
para evitar que la salida del registrador de org.apache.httpclient
vaya a los agregadores de rootLogger
.
Otros consejos
Tu podrías lograr esta funcionalidad usando filtros en los diferentes agregadores. Creo que la LevelRangeFilter sería lo que estás buscando.
Sin embargo, creo que los filtros solo se pueden especificar si está utilizando un archivo xml para la configuración y no son compatibles cuando se usa un archivo .properties.