gpt4 book ai didi

c# - 如何过滤按事件id监听的trace?

转载 作者:行者123 更新时间:2023-12-02 16:17:21 24 4
gpt4 key购买 nike

我正在使用下一个方法来添加跟踪记录:

TraceSource.TraceEvent(TraceEventType, Int32, String)

其中 Int32 代表事件 ID。

那么如何在 TraceSwitch 中过滤以仅监听指定的事件 id 呢?这不可能吗?

<system.diagnostics>
<sources>
<source name="MyTraceSource" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch>"
<listeners>
<add name="console" type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</source>
</sources>
<switches>
<add name="sourceSwitch" value="?" />
</switches>
</system.diagnostics>

最佳答案

这是可能的,但你需要编写一个自定义 TraceFilter并覆盖 ShouldTrace方法。 id 被传递给它,但没有现成的过滤器支持它。

然后,您可以在 .config 文件中这样声明它:

<source name="MyTraceSource" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="console" type="System.Diagnostics.ConsoleTraceListener">
<filter type="YourNamespace.YourFilter, YourAssembly, ..." />
</add>
</listeners>
</source>

关于c# - 如何过滤按事件id监听的trace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com