¿Cuál es el resultado de hacer que la aditividad log4j sea igual a verdadero o falso?

1 minuto de lectura

avatar de usuario de user3433510
usuario3433510

En términos simples, ¿cuál es el resultado de hacer additivity="true" o additivity="false" al agregar una configuración de Log4j para una clase específica como esta?

<Logger name="com.mypage.glass.TryWindow" level="INFO" additivity="true">
  <AppenderRef ref="console"/>
  <AppenderRef ref="file"/>
</Logger>

De forma predeterminada, un registrador hereda los appenders de sus ancestros. Configurando additivity="false"previene este comportamiento.

En su ejemplo, puede haber appenders asociados con com.mypage.glass o com.mypage o incluso el registrador raíz que se heredaría si no configura esa propiedad en false.

  • Pero, ¿qué sucede en el archivo real… es decir, si lo hago verdadero o falso, qué sucederá en el registro generado en el archivo o la consola?

    – usuario3433510

    27 de marzo de 2014 a las 15:44

  • @user3433510 Supongamos que su registrador raíz tiene un ConsoleAppender configurado, de modo que todos los mensajes INFO se impriman en la consola. Si usted tiene additivity="true" (el valor predeterminado), su com.mypage.glass.TryWindow logger también se enviará a la consola. Si desea evitar esto, puede configurar additivity="false". Si alguno de estos términos es confuso, le sugiero que lea el breve introducción a log4j.

    –Duncan Jones

    27/03/2014 a las 15:50


  • Agregar una propiedad “inheritAppenders” habría sido muy simple… ¡THX!

    – horizonte de eventos

    1 de diciembre de 2021 a las 9:39

¿Ha sido útil esta solución?