Java. Настройка logback.xml

Есть задача при запуске теста вывести логи уровня debug в отдельный файл. При этом убрать их из консоли. logback.xml:

 <configuration scan="true" scanPeriod="10 seconds">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>debug</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>    
        <file>logs/debug.log</file>
        <encoder>
            <pattern>%date %level [%thread] [%file:%line] %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="my.path" level="debug" additivity="true">
        <appender-ref ref="FILE"/>
    </logger>

    <root level="info">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

В итоге файл получается корректный, но консоль содержит уровень gebug тоже: Файл

2021-09-12 11:28:17,608 DEBUG [Test worker] [FileLoader.java:28] Start loading
2021-09-12 11:28:17,844 DEBUG [Test worker] [FileLoader.java:51] End loading
2021-09-12 11:28:17,845 DEBUG [Test worker] [ProcessorAggregator.java:18] Start processing
2021-09-12 11:28:17,850 DEBUG [Test worker] [ProcessorAggregator.java:22] End processing
2021-09-12 11:28:17,850 DEBUG [Test worker] [FileSerializer.java:25] Start serializing
2021-09-12 11:28:17,918 DEBUG [Test worker] [FileSerializer.java:41] End serializing

Консоль

11:28:17.608 [Test worker] DEBUG my.path.dataprocessor.FileLoader - Start loading
11:28:17.614 [Test worker] INFO  my.path.dataprocessor.FileLoader - loading inputData.json file
11:28:17.844 [Test worker] DEBUG my.path.dataprocessor.FileLoader - End loading
11:28:17.845 [Test worker] DEBUG r.p.d.ProcessorAggregator - Start processing
11:28:17.845 [Test worker] INFO  r.p.d.ProcessorAggregator - processing data (9 elements)
11:28:17.850 [Test worker] DEBUG r.p.d.ProcessorAggregator - End processing
11:28:17.850 [Test worker] DEBUG my.path.dataprocessor.FileLoader - Start serializing
11:28:17.851 [Test worker] INFO  my.path.dataprocessor.FileLoader - serializing data (3 elements)
11:28:17.918 [Test worker] DEBUG my.path.dataprocessor.FileLoader - End serializing

При additivity="false" консоль пустая Почему так? Почему не отрабатывает info у root? Как это поправить?


Ответы (0 шт):