Configurações recomendadas para rastreamento e registro de mensagens
Este tópico descreve as configurações recomendadas de rastreamento e registro 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 WCF, defina como switchValue
Aviso. Se você estiver usando a fonte de rastreamento WCF System.ServiceModel
, defina o switchValue
atributo como Warning
e o propagateActivity
atributo como true
. Se você estiver usando uma fonte de rastreamento definida pelo usuário, defina o switchValue
atributo como Warning, ActivityTracing
. Isso pode ser feito manualmente usando a Ferramenta do Editor de Configuração (SvcConfigEditor.exe). Se você não antecipar um acerto no desempenho, poderá definir o switchValue
atributo 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 fonte de rastreamento ou System.ServiceModel
definida pelo usuário. Para aprimorar a depuração, você também deve adicionar uma fonte de rastreamento adicional (System.ServiceModel.MessageLogging
) à configuração para habilitar o log de mensagens. Observe que o switchValue
atributo não tem 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>
Usando o WMI para modificar configurações
Você pode usar o WMI para alterar as definições de configuração em tempo de execução (habilitando o wmiProviderEnabled
atributo 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 ao vivo dessa maneira pode ser muito alto. Para obter mais informações sobre como usar o WMI, consulte o tópico Usando a instrumentação de gerenciamento do Windows para diagnóstico.
Habilitar eventos correlacionados no rastreamento de ASP.NET
ASP.NET eventos não definem a ID de correlação (ActivityID), a menos que ASP.NET rastreamento de eventos esteja ativado. Para ver eventos correlacionados corretamente, você precisa ativar ASP.NET rastreamento de eventos usando o seguinte comando no console de comando, que pode ser invocado indo para Iniciar, Executar e digitar cmd,
logman start mytrace -pf logman.providers -o test.etl –ets
Para desativar o rastreamento de eventos ASP.NET, use o seguinte comando,
logman stop mytrace -ets