跟踪监听器——如何抑制来自给定命名空间的日志消息

本文关键字:命名空间 日志 消息 监听器 何抑制 跟踪 | 更新日期: 2023-09-27 18:09:49

我正在做一个使用自定义跟踪侦听器的项目:

<system.diagnostics>
<trace>
  <listeners>
    <add name="CustomTraceListener" type="CustomTraceListener, CustomTraceListener" />
  </listeners>
</trace>
</system.diagnostics>

我有一个类记录太多了:

namespace MyApp.SuperChatty{
   //I log too much
   public class HeavyLogger{
   }
}

如何抑制来自MyApp.SuperChatty.HeavyLoggerVerbose消息

当我使用log4net时,我可以为给定的类或名称空间创建一个特定的记录器(log4net:配置为忽略来自特定类的消息),那么我如何使用跟踪来做到这一点呢?

跟踪监听器——如何抑制来自给定命名空间的日志消息

我能想到的最好的解决方案是创建一个自定义的TraceFilter (TraceFilter在MSDN)。我自己从来没有这样做过,但是我希望您可以为InitializeData提供一个名称空间/部分名称空间,然后确定是否要从ShouldTrace方法中的源跟踪。