.NET Tracing: что такое прослушиватель «по умолчанию»?

Каждый пример трассировки в Разработчики .NET удаляют прослушиватель «Default»:


  
    
      
        
          
          
          
        

Что такое прослушиватель Default и почему он присутствует по умолчанию?

Парень из Microsoft сделал бенчмарки :

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

Что такое прослушиватель трассировки По умолчанию и почему он такой медленный? Это OutputDebugString ? OutputDebugString ] действительно на два порядка медленнее, чем запись в файл?

Существует ли .NET TraceListener , который просто использует OutputDebugString ?

Что такое прослушиватель трассировки по умолчанию, почему он такой медленный, почему его обычно удаляют, и если он такой плохой, почему он используется по умолчанию?

24
задан Ian Boyd 4 November 2011 в 14:22
поделиться

1 ответ

Путем работа Приемников трассировки, кажется, является немного Автоволшебной, потому что документация не очень соглашается с нею. Позволяет говорят, что у нас есть Экономическая модель для разработки службы Windows. В том сервисе мы используем Трассировку. Операторы Writeline для отправки информации в консоль или файл. Приемник трассировки По умолчанию отправляет информацию в консоль. При выполнении службы Windows и подключения с Отладчиком к рабочему процессу, Вы видите те сообщения на своей консоли. Если Вы хотите изменить это, и отправить Трассировочную информацию в файл можно изменить это в app.config файле как это:

<system.diagnostics>
    <trace autoflush="false" indentsize="4">
        <listeners>
           <remove name="Default" />
           <add name="Default" type="System.Diagnostics.TextWriterTraceListener" initializeData="ImportServiceOutput.log" />      
        </listeners>
     </trace>
</system.diagnostics>

Взгляд на имя = "Значение по умолчанию", которое могло быть любым именем "myListener", так же хорошо также. Поскольку слушатель "По умолчанию" был удален, что каждый будет использоваться вместо этого. Microsoft должна зарегистрировать это, потому что это не ясно. В документации Microsoft это указывает, что необходимо использовать переменную "myListener" тогда, но это не нужно и НЕ правильно так или иначе, потому что Вы хотите описание, куда Трассировка должна пойти.

0
ответ дан 29 November 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: