配置问题:仅在子项中记录,但不在父项中记录?

时间:2011-07-05 15:39:24

标签: .net log4net

我有以下配置:

<log4net>
    <!--<appenders />-->

    <root />

    <logger name="MyProject">
        <priority value="INFO" />
        <appender-ref ref="rollingProjectFile" />
    </logger>

    <logger name="MyProject.Jobs">
        <priority value="INFO" />
        <appender-ref ref="rollingJobsFile" />
    </logger>
</log4net>

两个不同记录器中的两个appender都写入文本文件。由于我希望为命名空间MyProject.Jobs提供不同的文本文件,因此我定义了第二个记录器。但另外,父记录器MyProject中也会记录相同的消息。如果我不希望来自子记录器的任何消息出现在父记录器中,我该如何实现完全分离?

任何tipps的Thx sl3dg3

2 个答案:

答案 0 :(得分:3)

您可以尝试:

<logger name="MyProject.Jobs" additivity="false">
...

答案 1 :(得分:0)

我认为您可以将一个部分应用于记录器以过滤掉子记录器。虽然可能有一种更简单的方法来实现这一目标。

<filter type="log4net.Filter.LoggerMatchFilter">  
  <loggerToMatch value="MyProject.Jobs" />  
  <acceptOnMatch value="false" />  
</filter>