Configuración recomendada para el seguimiento y el registro de mensajes
En este tema se describen la traza recomendada y configuración del registro de mensajes para los entornos operativos diferentes.
Configuración recomendada para un entorno de producción
Para un entorno de producción, si está utilizando los orígenes de seguimiento de WCF, establezca switchValue
a Advertencia. Si está utilizando el origen de seguimiento de WCF System.ServiceModel
, establezca el atributo switchValue
a Warning
y el atributo propagateActivity
a true
. Si está utilizando un origen de seguimiento definido por un usuario, establezca el atributo switchValue
a Warning, ActivityTracing
. Esto se puede hacer manualmente con la Herramienta del editor de configuración (SvcConfigEditor.exe). Si no visualiza una repercusión en el rendimiento, puede establecer el atributo switchValue
en Information
en todos los casos mencionados previamente, lo cual genera una cantidad bastante grande de información de seguimiento. El ejemplo siguiente muestra estos valores recomendados.
<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>
Configuración recomendada para la implementación o depurando
Para la implementar o depurar el entorno, elija Information
o Verbose
, junto con ActivityTracing
para o un origen de seguimiento definido por el usuario o System.ServiceModel
. Para mejorar la depuración, debería agregar también un origen de seguimiento adicional (System.ServiceModel.MessageLogging
) a la configuración para habilitar el registro de mensajes. Tenga en cuenta que el atributo switchValue
no tiene ningún impacto en este origen de seguimiento.
El ejemplo siguiente muestra los valores recomendados, mediante un agente de escucha compartido que utiliza 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>
Utilizar WMI para modificar la configuración
Puede usar WMI para cambiar la configuración durante el tiempo de ejecución (para ello, habilite el atributo wmiProviderEnabled
de la configuración, tal y como se mostró en el ejemplo de configuración anterior). Por ejemplo, puede usar WMI en CIM Studio para cambiar el nivel de los orígenes de seguimiento de Advertencia a Información durante el tiempo de ejecución. Debe ser consciente de que el coste del rendimiento de la depuración activa de este modo puede ser muy elevado. Para obtener más información sobre el uso de WMI, consulte el tema Uso de Instrumental de administración de Windows (WMI) para el diagnóstico.
Habilitación de eventos correlativos en el seguimiento ASP.NET
Los eventos ASP.NET no establecen el id. de correlación (ActivityID) a menos que esté activado el seguimiento de evento ASP.NET. Para visualizar los eventos correlacionados de forma correcta, deberá activar el seguimiento de eventos ASP.NET mediante la ejecución del siguiente comando de la consola de comandos. Para invocarla, puede ir a Inicio, seleccionar la aplicación Ejecutar y, cuando esta se abra, escriba cmd.
logman start mytrace -pf logman.providers -o test.etl –ets
Para desactivar el seguimiento de eventos ASP.NET, utilice el siguiente comando,
logman stop mytrace -ets