.NET 中的每个跟踪示例都删除了“ Default
”侦听器:
<configuration>
<system.diagnostics>
<sources>
<source name="TraceSourceApp" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="ConsoleListener"/>
<add name="ETWListener"/>
<remove name="Default"/>
</listeners>
什么是默认侦听器,为什么默认存在?
一个微软的人用不同的听众对开销进行了基准测试:
Default |===============================14,196 ms=====/ /================>
TextWriterTraceListener |=========211 ms======>
EventProviderTraceListener |=> 77ms
什么是Default
跟踪侦听器,为什么这么慢?是OutputDebugString
吗?真的比写入文件慢两个数量级OutputDebugString
吗?
是否有TraceListener
只使用.NET 的 .NET OutputDebugString
?
什么是默认跟踪侦听器,为什么这么慢,为什么习惯性地删除它,如果它那么糟糕,为什么它是默认的?