在Logback中的多个Appender之间共享一个编码器/模式

时间:2011-04-25 14:44:09

标签: java logging java-ee logback

这是我第一次涉足LogBack的世界,但是我在文档中找不到任何地方我可以定义编码器/模式一次并在多个appender之间共享它。知道怎么做到这一点吗?

2 个答案:

答案 0 :(得分:41)

模式可以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 :(得分:18)

对于任何有兴趣的人,我确实从LogBack文档的Chapter 4中找到了这个小宝石: “每个布局/编码器都与一个且只有一个appender相关联,称为拥有的appender。” 对我来说,就好像Appender不可能共享一个Encoder实例一样。