Compartir a través de


<messageLogging>

Este elemento define la configuración para las funcionalidades del registro de mensajes de Windows Communication Foundation (WCF).

Jerarquía del esquema

<<system.serviceModel>>
  <diagnóstico>
    <messageLogging>

Sintaxis

<system.serviceModel>
   <diagnostics>
       <messageLogging logEntireMessage="Boolean"
          logMalformedMessages="Boolean"
          logMessagesAtServiceLevel="Boolean"
          logMessagesAtTransportLevel="Boolean"
                    maxMessagesToLog="Integer"
          maxSizeOfMessageToLog="Integer" >
          <filters>
                            <clear />
          </filters>
       </messageLogging>
   </diagnostics>
</system.serviceModel>

Atributos y elementos

En las siguientes secciones se describen los atributos, elementos secundarios y elementos primarios.

Atributos

Atributo Descripción

logEntireMessage

Un valor booleano que especifica si el mensaje completo (encabezado del mensaje y cuerpo) se registra. El valor predeterminado es false, que significa que sólo se registra el encabezado del mensaje. Esta configuración afecta a todos los niveles de registro de mensajes (servicio, transporte y mal formado).

logMalformedMessages

Un valor booleano que especifica si los mensajes mal formados se registran. Los mensajes incorrectos no cuentan hacia maxMessagesToLog. El valor predeterminado es false.

logMessagesAtServiceLevel

Un valor booleano que especifica si los mensajes se siguen en el nivel de servicio (antes del cifrado y las transformaciones relacionadas con transporte). El valor predeterminado es false.

logMessagesAtTransportLevel

Un valor booleano que especifica si los mensajes se siguen en el nivel de transporte. Se aplica cualquier filtro especificado en el archivo de configuración y sólo se siguen los mensajes que coinciden con los filtros. El valor predeterminado es false.

maxMessagesToLog

Un entero positivo que especifica el número máximo de mensajes para registrar. El valor predeterminado es 1000.

maxSizeOfMessageToLog

Un entero positivo que especifica el tamaño máximo, en bytes, de un mensaje para registrar. Los mensajes que superen el límite no se registrarán. Este valor afecta a todos los niveles de seguimiento. El valor predeterminado es 262144(0x4000).

Elementos secundarios

Elemento Descripción

filtros

El elemento filters contiene una colección de filtros de XPath. Cuando se habilita el registro de mensajes de transporte (logMessagesAtTransportLevel es true), sólo los mensajes que coinciden con los filtros se registrarán.

Los filtros sólo se aplican en el nivel de transporte. El nivel de servicio y el registro de mensajes incorrectos no se ven afectados por los filtros.

El único atributo para este elemento, filter, es XpathFilter.

<filters>
    <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add>
</filters>

Elementos primarios

Elemento Descripción

diagnóstico

Define los valores WCF para la inspección en tiempo de ejecución y el control para el administrador.

Notas

Los mensajes se registran en tres niveles diferentes: servicio, transporte e incorrectos. Se puede activar cada nivel separadamente.

Los filtros XPath se pueden agregar para registrar mensajes concretos en los niveles de servicio y transporte. Si no se define ningún filtro, todos los mensajes se registran. Los filtros sólo se aplican a los encabezados del mensaje. Se omite el cuerpo. WCF omite el cuerpo del mensaje para mejorar el rendimiento. Si desea filtrar según el contenido del cuerpo, puede crear un agente de escucha personalizado con un filtro que lo haga.

Necesita crear un agente de seguimiento de escucha para activar la traza del mensaje. El propio agente de escucha puede ser cualquier agente de escucha que funciona con la arquitectura de traza de System.Diagnostics. En el siguiente ejemplo se muestra cómo crear el agente de escucha.

<system.diagnostics>
    <sources>
          <source name="System.ServiceModel" switchValue="Verbose">
              <listeners>
                    <clear />
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default"
                        traceOutputOptions="None" />
                    <add name="ServiceModel Listener" traceOutputOptions="None" />
               </listeners>
        </source>
            <source name="System.ServiceModel.MessageLogging">
                <listeners>
                    <clear />
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default"
                        traceOutputOptions="None" />
                    <add name="MessageLogging Listener" traceOutputOptions="None"/>
               </listeners>
        </source>
    </sources>
     <sharedListeners>
            <add initializeData="C:\ItProTools\TraceLog.xml"
                    type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                    name="ServiceModel Listener"
                    traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
            <add initializeData="C:\ItProTools\MessageLog.log"
                    type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                   name="MessageLogging Listener"
                   traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
    </sharedListeners>
</system.diagnostics>

Ejemplo

<messageLogging logEntireMessage="true"
    logMalformedMessages="true"
    logMessagesAtServiceLevel="true"
    logMessagesAtTransportLevel="true"
    maxMessagesToLog="42"
    maxSizeOfMessageToLog="42">
     <filters>
         <clear />
     </filters>
 </messageLogging>

Vea también

Referencia

DiagnosticSection
System.ServiceModel.Diagnostics
MessageLogging
MessageLoggingElement

Otros recursos

Message Loggging