是否可以让多个记录器使用同一个附加程序?当我像这样创建一个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-ref ref="xyz"/>
标记内放一个<root>
标记,因此对all记录器有效。您的示例运行良好,因此请更好地检查您的真实配置。