使记录器跳过logback中的根部分

rpv*_*lao 11 java logback appender

我定义了几个记录器和一个带有几个appender的根节,类似于:

  <logger name="X" level="debug"/>
  <logger name="Y" level="trace"/>

  <logger name="Z" level="warn">
    <appender-ref ref="ALERTS-SYSLOG" />
  </logger>

  <root level="INFO">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE"/>
    <appender-ref ref="BUFFER"/>
    <appender-ref ref="SYSLOG"/>
  </root>
Run Code Online (Sandbox Code Playgroud)

我想要完成的是,名为Z的记录器只能访问ALERTS-SYSLOG appender而不是根部分中定义的所有记录器.只有配置在XML文件上才可能吗?

Cek*_*eki 22

有关appender可加性和可添加性配置,请参阅logback文档.简而言之,Z记录器应配置为:

<!-- set the additivity attribute of the Z logger to false -->
<logger name="Z" level="warn" additivity="false">
  <appender-ref ref="ALERTS-SYSLOG" />
</logger>
Run Code Online (Sandbox Code Playgroud)


小智 5

在XML文件中为记录器Z和ALERTS_SYSLOG appender显式添加一个条目,并将additvity标志设置为false.