Logback: включить класс для определенного приложения и отключить его для других

Определенный класс из зависимости создает слишком много журналов, поэтому я пытаюсь сохранить их в определенном файле, чтобы избежать загрязнения других.

вот мой файл logback-spring.xml:

<configuration debug="true">

<!-- appenders declaration --> 

    <logger
        name="org.apache.james.protocols.netty.BasicChannelUpstreamHandler"
        level="INFO">
        <appender-ref ref="FileConnections" />
    </logger>


    <root level="DEBUG">
        <appender-ref ref="FileInf" /> <!-- ThresholdFilter Info -->
        <appender-ref ref="FileErr" /> <!-- ThresholdFilter Error -->
        <appender-ref ref="FileTra" /> <!-- ThresholdFilter Trace -->
        <appender-ref ref="JsonInf" /> <!-- Json formater -->
        <appender-ref ref="STDOUT" />  <!-- Console output -->
    </root>


</configuration> 

Этот код перенаправляет все журналы BasicChannelUpstreamHandler в мое приложение FileConnections, но все еще есть журналы из этого класса в других приложениях.

Есть ли способ отключить журналы BasicChannelUpstreamHandler во всех других приложениях?


person Louisprrn    schedule 21.11.2019    source источник
comment
Вам необходимо установить флаг аддитивности в значение false. <logger name="org.apache.james.protocols.netty.BasicChannelUpstreamHandler" level="INFO" additivity="false"> <appender-ref ref="FileConnections" /> </logger>.   -  person Ramu    schedule 22.11.2019
comment
Работает, спасибо! Можете ли вы написать это как ответ, чтобы я мог отметить его как решение?   -  person Louisprrn    schedule 22.11.2019


Ответы (1)


Вам необходимо установить флаг аддитивности в значение false, как показано ниже.

<logger name="org.apache.james.protocols.netty.BasicChannelUpstreamH‌​andler" level="INFO" additivity="false"> 
    <appender-ref ref="FileConnections" /> 
</logger>
person Ramu    schedule 22.11.2019