Tengo un paquete «com.ejemplo». Este paquete tiene cinco clases. Quiero registro de cuatro de estas clases en un archivo, pero excluye la quinta clase.

Podría escribir cuatro registradores, por ejemplo, registrador nombre=»com.ejemplo.Class1″, y agrega que el mismo appender a las cuatro de la madera. No hay manera más fácil (pensemos que tengo 100, en lugar de 5 clases)?

Hay algunas otras preguntas como esta. Pero los otros chicos que querían excluir una clase de registro de esta clase. Esto puede ser resuelto mediante el addivity bandera. Pero creo que la aditividad de la bandera no funciona aquí, porque no quiero registro de la quinta clase, pero todos los demás?!

Espero que alguien me puede ayudar?

InformationsquelleAutor Kai Wähner | 2011-03-11

2 Comentarios

  1. 30

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

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

    Realmente me sugieren que no es para OFF, pero a FATAL. ERROR o incluso WARN lugar.

    La principal razón para querer ignorar el registro de algunos de la clase es generalmente si se registra para mucho (más de lo que es útil y hace que sea difícil leer el registro). Sin embargo, la mayoría del tiempo usted todavía desea saber si algo va realmente mal. Ajustar ERROR todavía se puede ver el real de la problemática de los casos, pero no se molesta por toneladas de INFO las declaraciones de registro.

    • Oh, sabía que hay una forma simple 🙂
    • Hay una buena documentación sobre el xml de configuración de log4j? Esta es la primera vez que no utilice la configuración a través de propiedades. No me gusta el XML enfoque todavía (demasiado repetitivo código)…
    • Me parece el JavaDoc que contiene la mayor cantidad de información útil.
  2. 13

    (Solo para el bien de la respuesta completa)

    Usted podría tratar de hacer mediante el establecimiento de log4j.xml archivo también. Sólo tienes que entrar todo el paquete como quieras y registro de la FifthClass de manera diferente.

    <logger name="com.example">
        <level value="INFO"/>
    </logger>
    
    <logger name="com.example.FifthClass">
        <level value="FATAL"/>
    </logger>
    • Esto también funciona para las subclases. Así que si FifthClass estaban en un paquete » com.ejemplo.numberedclasses podría excluir a todos los miembros de ese paquete mediante la configuración del registro para que empaqueta para causar la muerte.

Dejar respuesta

Please enter your comment!
Please enter your name here