Поделиться через


Рекомендуемые параметры для трассировки и ведения журналов сообщений

Этот раздел содержит описание рекомендуемых параметров трассировки и регистрации сообщений для различных операционных сред.

В рабочей среде, если используются источники трассировки WCF, рекомендуется в switchValue задать значение Warning. При использовании источника трассировки WCF System.ServiceModel рекомендуется задать в атрибуте switchValue значение Warning, а в атрибуте propagateActivity - значение true. При использовании источника трассировки, определенного пользователем, рекомендуется присвоить атрибуту switchValue значение Warning, ActivityTracing. Это можно сделать вручную с помощью средства редактора конфигурации (SvcConfigEditor.exe). Если в работе не ожидается резкого подъема производительности, во всех перечисленных выше случаях атрибуту switchValue можно присвоить значение Information, при котором генерируется достаточно большое количество данных трассировки. Следующий пример иллюстрирует задание описанных рекомендуемых параметров.

<configuration>  
 <system.diagnostics>  
  <sources>  
    <source name="System.ServiceModel"  
            switchValue="Warning"  
            propagateActivity="true" >  
      <listeners>  
        <add name="xml"/>  
      </listeners>  
    </source>  
    <source name="myUserTraceSource"  
            switchValue="Warning, ActivityTracing">  
      <listeners>  
        <add name="xml"/>  
      </listeners>  
    </source>  
  </sources>  
  <sharedListeners>  
    <add name="xml"  
         type="System.Diagnostics.XmlWriterTraceListener"  
               initializeData="C:\logs\Traces.svclog" />  
  </sharedListeners>  
 </system.diagnostics>  
  
<system.serviceModel>  
  <diagnostics wmiProviderEnabled="true">  
  </diagnostics>  
 </system.serviceModel>  
</configuration>  

При работе в среде развертывания или отладки рекомендуется выбирать значения Information или Verbose наряду с ActivityTracing как для определенных пользователем, так и для заданных System.ServiceModel источников трассировки. Чтобы улучшить процесс отладки, к конфигурации необходимо добавить дополнительный источник трассировки (System.ServiceModel.MessageLogging) для активации функции регистрации сообщений. Обратите внимание, что атрибут switchValue не влияет на этот источник трассировки.

Следующий пример иллюстрирует задание рекомендуемых параметров с помощью общего прослушивателя, использующего XmlWriterTraceListener.

<configuration>  
 <system.diagnostics>  
  <sources>  
    <source name="System.ServiceModel"  
            switchValue="Information, ActivityTracing"  
            propagateActivity="true" >  
      <listeners>  
        <add name="xml"/>  
      </listeners>  
    </source>  
    <source name="System.ServiceModel.MessageLogging">  
      <listeners>  
        <add name="xml"/>  
      </listeners>  
    </source>  
    <source name="myUserTraceSource"  
            switchValue="Information, ActivityTracing">  
      <listeners>  
        <add name="xml"/>  
      </listeners>  
    </source>  
  </sources>  
  <sharedListeners>  
    <add name="xml"  
         type="System.Diagnostics.XmlWriterTraceListener"  
               initializeData="C:\logs\Traces.svclog" />  
  </sharedListeners>  
 </system.diagnostics>  
  
 <system.serviceModel>  
  <diagnostics wmiProviderEnabled="true">  
      <messageLogging
           logEntireMessage="true"
           logMalformedMessages="true"  
           logMessagesAtServiceLevel="true"
           logMessagesAtTransportLevel="true"  
           maxMessagesToLog="3000"
       />  
  </diagnostics>  
 </system.serviceModel>  
</configuration>  

Изменение параметров с помощью инструментария WMI

WMI можно использовать для изменения параметров конфигурации во время выполнения (включив wmiProviderEnabled атрибут в конфигурации, как показано в приведенном выше примере конфигурации). Например, можно использовать WMI в CIM Studio для изменения уровней источника трассировки с предупреждения на сведения во время выполнения. Следует помнить о том, что такой способ отладки может значительно снизить производительность. Дополнительные сведения об использовании WMI см. в разделе "Использование инструментирования управления Windows для диагностики ".

Использование корреляции событий в трассировке ASP.NET

События ASP.NET не получают корреляционный идентификатор (ActivityID), если не включена функция трассировки событий ASP.NET. Чтобы правильно увидеть коррелированные события, необходимо включить трассировку событий ASP.NET с помощью следующей команды в консоли команд, которую можно вызвать, перейдя в меню "Пуск", "Запустить " и "Ввести cmd",

logman start mytrace -pf logman.providers -o test.etl –ets  

Для отключения трассировки событий ASP.NET используйте следующую команду.

logman stop mytrace -ets  

См. также