mkyong example ejemplo conversionpattern java logging log4j appender

java - ejemplo - mkyong log4j example



¿Cómo excluir una sola Clase de Log4j Logger/Appender? (2)

Tengo un paquete "com.example". Este paquete tiene cinco clases. Quiero registrar cuatro de estas clases en un archivo, pero excluyo la quinta clase.

Podría escribir cuatro registradores, por ejemplo logger name = "com.example.Class1", y agregar el mismo appender a los cuatro registradores. ¿No hay una manera más fácil (pensemos que tengo 100 en lugar de 5 clases)?

Hay algunas otras preguntas como esta. Pero los otros chicos solo querían excluir una clase para registrar esta clase. Esto se puede resolver usando el indicador de aditividad. Pero creo que la bandera de aditividad no funciona aquí, porque no quiero registrar la quinta clase, ¿pero todas las demás?

Espero que alguien pueda ayudarme?


Simplemente configure su quinta clase para usar el nivel de registro OFF:

log4j.logger.com.example=INFO, MyAppender log4j.logger.com.example.FifthClass=OFF

En realidad, sugiero que no lo ajuste a OFF , sino a FATAL . ERROR o incluso WARN lugar.

La razón principal para querer ignorar el registro de alguna clase suele ser si registra mucho (más de lo que es útil y hace que sea difícil leer el registro). Sin embargo, la mayoría de las veces aún querrás saber si algo sale mal. Al establecerlo en ERROR , aún puede ver los casos problemáticos reales, pero no se molestará con toneladas de instrucciones de registro INFO .


(Solo por la respuesta completa)

Puede intentar hacerlo configurando el archivo log4j.xml también. Simplemente inicie el paquete completo como desee y registre el FifthClass de manera diferente.

<logger name="com.example"> <level value="INFO"/> </logger> <logger name="com.example.FifthClass"> <level value="FATAL"/> </logger>