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


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

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

Для рабочей среды, если вы используете источники трассировки WCF, задайте switchValue значение "Предупреждение". Если вы используете источник трассировки 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  

См. также