2010-11-02 13 views
5

Estoy usando org.apache.log4j.Logger para el registro y estoy desarrollando un jsp solo para propósitos de monitoreo. Este jsp usa clases que escriben registros (nivel INFO) que no son interesantes para este monitoreo, pero son molestas, siempre que quiera ejecutar este jsp muy a menudo.Cómo deshabilitar cualquier registro para un hilo

Entonces, mi pregunta es la siguiente: ¿Hay alguna forma de desactivar estos registros INFO solo para el hilo donde se ejecuta mi jsp?

Si no existe, tal vez este enfoque podría pagar la factura: ¿Hay alguna manera de decir que el nivel de log4j para una clase determinada es FATAL solo por unos pocos milisegundos?

Respuesta

4

No hay una manera fácil de hacerlo con la configuración simple de log4j.

Sin embargo, puede hacer que su código instale un filtro personalizado en el registrador apropiado. Ver la referencia de interfaz aquí:

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/Filter.html

  1. construir un objeto que implementa el filtro que desea.
  2. Encuentra el registrador usando LogManager.getLogger ("loggername")
  3. introducir el filtro.
0

¿Se está registrando el ID de hilo? Si es así, ¿no puedes usar grep -v para eliminar las líneas molestas que son para ese hilo y el nivel INFO?

+0

Pude, pero mi problema es sobre el contenido del archivo, no sobre su "gato". Gracias –

+0

No estoy seguro de lo que quieres decir con eso. ¿Puedes expandirte? –

+2

Mi jsp de monitoreo se llama cada 30 segundos, por lo que el registro crecerá mucho. No quiero que esta jsp descargue ninguna línea en el archivo de registro. Lo que quiero es que esas líneas no sean arrojadas a ningún lado –

Cuestiones relacionadas