12

我定义了几个记录器和一个带有多个附加程序的根部分,例如:

  <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>

我想要完成的是让名为 Z 的记录器转到 ALERTS-SYSLOG 附加程序,而不是根部分中定义的所有附加程序。只有在 XML 文件上配置才有可能吗?

4

2 回答 2

24

有关appender 可加性和可加性配置的信息,请参阅 logback 文档。简而言之,Z logger 应该配置为:

<!-- set the additivity attribute of the Z logger to false -->
<logger name="Z" level="warn" additivity="false">
  <appender-ref ref="ALERTS-SYSLOG" />
</logger>
于 2012-05-10T10:42:44.940 回答
5

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

于 2012-05-10T02:07:48.227 回答