2011-04-25 19 views

Respuesta

14

Para cualquier persona interesada que lo hice encontrar esta pequeña joya de Chapter 4 de la documentación de logback: "Cada diseño/codificador está asociado con una y sólo una appender, denominado el appender poseer." que para mí se lee como si los Anexos no pudieran compartir una única instancia de Encoder.

+0

He estado programando la creación de appenders, encoders y diseños. Creo que lo anterior es cierto: cuando traté de compartir los codificadores entre los appenders, terminé teniendo solo un appender activo (presumiblemente porque el codificador terminó estando solo conectado al último al que lo agregué). –

+2

También esto desde la sección de Configuración: "Tenga en cuenta que cada appender tiene su propio codificador. Los codificadores generalmente no están diseñados para ser compartidos por múltiples appenders. Lo mismo es cierto para los diseños. Por lo tanto, los archivos de configuración de logback no proporcionan ningún medio sintáctico para compartir codificadores o diseños ". –

33

Los patrones son reutilizables con variable substitution.

<configuration> 

    <property name="defaultPattern" 
     value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" /> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>${defaultPattern}</pattern> 
     </encoder> 
    </appender> 

    <root level="debug"> 
     <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 
+1

+1 para referirse a la sustitución de variables. –

Cuestiones relacionadas