Logback несколько регистраторов с тем же приложением - PullRequest
0 голосов
/ 13 марта 2020

Можно ли заставить несколько регистраторов работать с одним и тем же приложением? Когда я создаю 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".

* 1008 Это нормальное поведение? Есть ли способ сделать это? Я знаю, что могу использовать только регистратор событий, но у меня будет много событий, и я хотел бы иметь возможность переключать уровень журнала каждого события отдельно.

1 Ответ

0 голосов
/ 13 марта 2020

Наличие одного приложения с несколькими регистраторами не только возможно, но и нормально: на самом деле я обычно помещаю в тег <root> только один тег <appender-ref ref="xyz"/>, поэтому он действителен для всех регистраторов. Ваш пример работает нормально, поэтому лучше проверьте ваш реальный конфиг.

...