Каждый пример трассировки в .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>
Что такое По умолчанию, и почему он по умолчанию?
Парень Microsoft сделал тесты накладных расходов с разными слушателями:
Default |===============================14,196 ms=====/ /================>
TextWriterTraceListener |=========211 ms======>
EventProviderTraceListener |=> 77ms
Что такое прослушиватель трассировки Default
, и почему это так медленно? Это OutputDebugString
? Является OutputDebugString
действительно на два порядка медленнее, чем запись в файл?
Есть там .NET TraceListener
, который просто использует OutputDebugString
?
Что такое прослушиватель трассировки по умолчанию, почему он так медленно, почему он обычно удаляется, и если он так плохо, почему он по умолчанию?