39

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

4

2 回答 2

57

模式可通过变量替换重用。

<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>
于 2011-09-10T08:04:29.140 回答
31

对于任何感兴趣的人,我确实从LogBack 文档的第 4 章中找到了这个小宝石: “每个布局/编码器都与一个且只有一个附加程序相关联,称为拥有附加程序。” 在我看来,Appenders 不可能共享单个 Encoder 实例。

于 2011-04-25T16:09:53.750 回答