次の状況を処理するようにlogback-classicを構成しようとしています。レベルdebug以上のmy.classから発信されたすべてのメッセージは、stdoutアペンダーに送信する必要があります。
また、警告レベル以上のすべてのエラーメッセージは、発生元に関係なく、altoutアペンダーに送信する必要があります。しかし、私はそれを機能させることができないようです。
この構成を試しましたが、問題は、加法性をtrueに設定すると、警告レベルに関係なく、stdoutに記録されたすべてのメッセージもaltoutに送信されることです。しかし、additivity = falseを設定すると、警告/エラーレベルがあっても、my.serverから発信されたメッセージはaltoutに送信されません。
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>Stdout: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="ALTOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>Altout: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name='my.class' level='debug' additivity="false">
<appender-ref ref="ALTOUT" />
</logger>
<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>