我们可以将过滤器应用于 System.Net WCF 跟踪日志吗?
Can we apply filters to System.Net WCF tracing log?
我需要过滤 WCF System.Net 跟踪日志。我们可以将 XPath 过滤器应用于 System.Net 源,就像我们应用于 messageLogging 的方式一样吗?
我的配置文件system.diagnostics部分如下:
<system.diagnostics>
<sources>
<source tracemode="protocolonly" name="System.Net" switchValue="Verbose">
<listeners>
<clear />
<add name="textLogger">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="textLogger"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="WCF_logswcf_svclog.txt">
<filter type="System.Diagnostics.EventTypeFilter" initializeData="Verbose"/>
</add>
</sharedListeners>
<trace autoflush="true" indentsize="4" />
</system.diagnostics>
我能够解决这个问题。
I used circular buffer trace listener project provided by Microsoft.
我编辑了项目以记录我需要的数据。
我在 CircularTraceListener class.
的 TraceEvent() 中添加了以下 if 条件
if (eventType == TraceEventType.Verbose && message.Contains("requiredData"))
{
base.TraceEvent(eventCache, source, eventType, id, message);
}
我需要过滤 WCF System.Net 跟踪日志。我们可以将 XPath 过滤器应用于 System.Net 源,就像我们应用于 messageLogging 的方式一样吗?
我的配置文件system.diagnostics部分如下:
<system.diagnostics>
<sources>
<source tracemode="protocolonly" name="System.Net" switchValue="Verbose">
<listeners>
<clear />
<add name="textLogger">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="textLogger"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="WCF_logswcf_svclog.txt">
<filter type="System.Diagnostics.EventTypeFilter" initializeData="Verbose"/>
</add>
</sharedListeners>
<trace autoflush="true" indentsize="4" />
</system.diagnostics>
我能够解决这个问题。 I used circular buffer trace listener project provided by Microsoft. 我编辑了项目以记录我需要的数据。 我在 CircularTraceListener class.
的 TraceEvent() 中添加了以下 if 条件if (eventType == TraceEventType.Verbose && message.Contains("requiredData"))
{
base.TraceEvent(eventCache, source, eventType, id, message);
}