如何从 log4net 日志中排除一个类型?

how do you exclude a type from a log4net log?

具体来说,我有一个共享 log4net 配置的不同团队提供的聊天程序集。通常我们将所有内容发送到根目录,其中附加了一个文件。

在这种情况下,我想将繁琐的程序集发送到一个单独的文件中。我通过添加记录器元素和第二个附加器实现了这一点。这确实正确记录了程序集的消息,但它们也出现在根目录中。

我希望他们从 root 中排除。

您可以通过向根记录器添加一个 LoggerMatchFilter 来执行此操作,它专门排除您为聊天程序集定义的新记录器:

<filter type="log4net.Filter.LoggerMatchFilter">
   <loggerToMatch value="Logger.From.Chatty.Namespace" />
   <acceptOnMatch value="false" />
</filter>

this page 上有更多过滤器示例。