log4net:如何关闭程序集引用的日志记录?

时间:2013-09-11 22:26:08

标签: c# log4net

在我的项目中,我使用log4net进行日志记录。我的项目引用了一个DLL,它也使用log4net进行日志记录。现在我面临的问题是,我的日志文件有两个输出:来自我自己的代码的消息以及来自引用的消息。

如何关闭引用的DLL的日志记录?

2 个答案:

答案 0 :(得分:4)

除了Ash Burlaczenko的回答,您还可以从外部命名空间中过滤这些消息,如下所示:

<filter type="log4net.Filter.LoggerMatchFilter">
  <!-- allows this sub-namespace to be logged... -->
  <loggerToMatch value="Noisy.Namespace.But.Important" />
</filter>
<filter type="log4net.Filter.LoggerMatchFilter">
  <!-- ...but not the rest of it -->
  <loggerToMatch value="Noisy.Namespace" />
  <acceptOnMatch value="false" />
</filter>

(来自here的复制XML)

答案 1 :(得分:1)

您需要为命名空间创建一个记录器

<logger name="YourNamespace.SubNamespace">
    <appender-ref ref="YourAppender" />
</logger>

然后,只有登录该命名空间才会被发送到YourAppender。

相关问题