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.
Configurações recomendadas para um ambiente de produção
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>
Configurações recomendadas para implantação ou depuração
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