0

使用 log4cxx 的 xml 配置(与 log4j 的配置相同)。我希望将某个记录器输出专门用于特定的附加程序(让它成为唯一输出到该附加程序的记录器)。

我发现可以将记录器绑定到特定的附加程序,如下所示:

<logger name="LoggerName">
    <level value="info"/>
   <appender-ref ref="AppenderName"/>
</logger>

但它仍然输出到根附加程序,因为我在 conf 文件中有这个标准部分:

<root>
   <priority value="DEBUG"/>
   <appender-ref ref="OtherAppender"/>
</root>

如何从根记录器中排除该记录器?换句话说,如何配置日志以使所有记录器都继承根记录器的附加程序,除了特定记录器?

4

1 回答 1

4

为此,您可以使用以下配置:

<logger name="TRACER" additivity="false">
    <level value="Debug" />
    <appender-ref ref="DebugAppender" />
</logger>

所有名称以 开头的记录器TRACER都将记录到 appender DebugAppender。欲了解更多信息,请查看此处此处

Additivity="false" 意味着发送到此记录器的消息不会传播记录器层次结构,因此它不会向根记录器打印任何内容。

于 2010-04-14T08:14:12.290 回答