使用相同的附加程序登录多个记录器

问题描述 投票:0回答:1

是否可以让多个记录器使用同一个附加程序?当我像这样创建一个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”。

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

java logging logback
1个回答
0
投票

不仅有一个带有多个记录器的附加程序,而且是正常的:实际上,我通常只在<appender-ref ref="xyz"/>标记内放一个<root>标记,因此对all记录器有效。您的示例运行良好,因此请更好地检查您的真实配置。

© www.soinside.com 2019 - 2024. All rights reserved.