繁体   English   中英

使用相同的 appender 回退多个记录器

[英]Logback several loggers with same appender

是否可以让多个记录器使用同一个 appender? 当我创建一个这样的 logback.xml 时:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%-18.18thread] %highlight(%-5level) %-30.30logger - %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="events.A" level="trace"><appender-ref ref="STDOUT"/></logger>
    <logger name="events.B" level="trace"><appender-ref ref="STDOUT"/></logger>
    <root level="info"/>
</configuration>

但是当我这样做时:

    Logger loggerA = LoggerFactory.getLogger("events.A");
    Logger loggerB = LoggerFactory.getLogger("events.B");
    loggerA.trace("I am A");
    loggerB.trace("I am B");

它只打印“我是 B”。

这是正常的行为吗? 有没有办法做到这一点? 我知道我只能使用“事件”记录器,但我会有很多事件,我希望能够分别切换每个事件的日志级别。

拥有一个带有多个记录器的 appender 不仅是可能的,而且是正常的:事实上,我通常只在<root>标签内放置一个<appender-ref ref="xyz"/>标签,因此它对所有记录器都有效。 您的示例工作正常,因此请更好地检查您的真实配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM