.NET Tracing: ¿Cuál es el oyente "predeterminado"?

Cada ejemplo de rastreo en personas .NET elimina el "Default "oyente:

<configuration>
  <system.diagnostics>
    <sources>
      <source name="TraceSourceApp" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="ConsoleListener"/>
          <add name="ETWListener"/>
          <remove name="Default"/>
        </listeners>

Cuál es elDefect oyente, y ¿por qué está allí por defecto?

Un chico de Microsoft hizobenchmarks de los gastos generales con diferentes oyentes:

Default                    |===============================14,196 ms=====/ /================> 
TextWriterTraceListener    |=========211 ms======>
EventProviderTraceListener |=> 77ms

Cuál es elDefault trace oyente, y ¿por qué es tan lento? Lo esOutputDebugString? EsOutputDebugString De Verdaddos órdenes de magnitud ¿más lento que escribir en un archivo?

E hay un .NETTraceListener que solo usaOutputDebugString?

Cuál es eldefect trace listener, ¿por qué es tan lento, por qué se elimina habitualmente y, si es tan malo, por qué es el valor predeterminado?

Respuestas a la pregunta(1)

Su respuesta a la pregunta