Compartilhar via


Configurações recomendadas para registro de rastreamento e mensagens

Este tópico descreve as configurações recomendadas de rastreamento e registro em log de mensagens para diferentes ambientes operacionais.

Para um ambiente de produção, se você estiver usando fontes de rastreamento do WCF, defina o switchValue como Aviso. Se você estiver usando a origem de rastreamento System.ServiceModel do WCF, defina o atributo switchValue como Warning e o atributo propagateActivity como true. Se você estiver usando uma origem de rastreamento definida pelo usuário, defina o atributo switchValue como Warning, ActivityTracing. Isso pode ser feito manualmente usando a Ferramenta de Editor de Configuração (SvcConfigEditor.exe). Se você não prever um impacto no desempenho, poderá definir o atributo switchValue como Information em todos os casos mencionados anteriormente, o que gera uma quantidade bastante grande de dados de rastreamento. O exemplo a seguir demonstra essas configurações recomendadas.

<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>  

Para o ambiente de implantação ou depuração, escolha Information ou Verbose, juntamente com ActivityTracing para uma origem de rastreamento definida pelo usuário ou System.ServiceModel. Para aprimorar a depuração, você também deve adicionar uma fonte de rastreamento adicional (System.ServiceModel.MessageLogging) à configuração para habilitar o registro em log de mensagens. Observe que o atributo switchValue não tem nenhum impacto nessa fonte de rastreamento.

O exemplo a seguir demonstra as configurações recomendadas, usando um ouvinte compartilhado que utiliza o 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>  

Usar o WMI para modificar configurações

Você pode usar o WMI para alterar as configurações em tempo de execução (habilitando o atributo wmiProviderEnabled na configuração, conforme demonstrado no exemplo de configuração anterior). Por exemplo, você pode usar o WMI no CIM Studio para alterar os níveis de origem de rastreamento de Aviso para Informações em tempo de execução. Você deve estar ciente de que o custo de desempenho da depuração dinâmica dessa maneira pode ser muito alto. Para obter mais informações sobre o uso do WMI, confira o tópico Como usar a Instrumentação de Gerenciamento do Windows para diagnóstico.

Habilitar eventos correlacionados no rastreamento do ASP.NET

Os eventos do ASP.NET não definem a ID de correlação (ActivityID), a menos que o rastreamento de evento do ASP.NET esteja ativado. Para ver os eventos correlacionados corretamente, você precisa ativar o rastreamento de eventos do ASP.NET usando o comando a seguir no console de comando, que pode ser invocado indo até Iniciar, Executar e digitando cmd,

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

Para desativar o rastreamento de eventos do ASP.NET, use o comando a seguir,

logman stop mytrace -ets  

Confira também