Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

EventSchemaTraceListener (Clase)

Dirige la salida de trazas o la depuración de eventos de un extremo a otro a un archivo de registro con codificación XML conforme al esquema.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System.Core (en System.Core.dll)

'Declaración
<HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort := True)> _
<HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization := True)> _
Public Class EventSchemaTraceListener _
	Inherits TextWriterTraceListener

El tipo EventSchemaTraceListener expone los siguientes miembros.

  NombreDescripción
Método públicoEventSchemaTraceListener(String)Inicializa una nueva instancia de la clase EventSchemaTraceListener y utiliza el archivo especificado como destinatario de los resultados de la traza o la depuración.
Método públicoEventSchemaTraceListener(String, String)Inicializa una nueva instancia de la clase EventSchemaTraceListener con el nombre especificado y utiliza el archivo especificado como destinatario de los resultados de la traza o la depuración.
Método públicoEventSchemaTraceListener(String, String, Int32)Inicializa una nueva instancia de la clase EventSchemaTraceListener con el nombre especificado y el tamaño de búfer especificado, y utiliza el archivo especificado como destinatario de los resultados de la traza o la depuración.
Método públicoEventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption)Inicializa una nueva instancia de la clase EventSchemaTraceListener con el nombre especificado y el tamaño de búfer especificado, y utiliza el archivo especificado, con la directiva de retención de registro especificada, como destinatario de los resultados de la traza o la depuración.
Método públicoEventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption, Int64)Inicializa una nueva instancia de la clase EventSchemaTraceListener con el nombre especificado y el tamaño de búfer especificado, y utiliza el archivo especificado, con la directiva de retención de registro especificada y el tamaño máximo, como destinatario de los resultados de la traza o la depuración.
Método públicoEventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption, Int64, Int32)Inicializa una nueva instancia de la clase EventSchemaTraceListener con el nombre especificado y el tamaño de búfer especificado, y utiliza el archivo especificado, con la directiva de retención de registro especificada, el tamaño máximo y el recuento de archivos, como destinatario de los resultados de la traza o la depuración.
Arriba

  NombreDescripción
Propiedad públicaAttributesObtiene los atributos de agente de escucha de seguimiento personalizados que están definidos en el archivo de configuración de la aplicación. (Se hereda de TraceListener).
Propiedad públicaBufferSizeObtiene el tamaño del búfer de salida.
Propiedad públicaFilterObtiene y establece el filtro de seguimiento para el agente de escucha de seguimiento. (Se hereda de TraceListener).
Propiedad públicaIndentLevelObtiene o establece el nivel de sangría. (Se hereda de TraceListener).
Propiedad públicaIndentSizeObtiene o establece el número de espacios de una sangría. (Se hereda de TraceListener).
Propiedad públicaIsThreadSafeObtiene un valor que indica si el agente de escucha de seguimiento es seguro para la ejecución de subprocesos. (Invalida a TraceListener.IsThreadSafe).
Propiedad públicaMaximumFileSizeObtiene el tamaño máximo del archivo de registro.
Propiedad públicaMaximumNumberOfFilesObtiene el número máximo de archivos de registro.
Propiedad públicaNameObtiene o establece un nombre para este objeto TraceListener. (Se hereda de TraceListener).
Propiedad protegidaNeedIndentObtiene o establece un valor que indica si se va a aplicar sangría a los resultados. (Se hereda de TraceListener).
Propiedad públicaTraceLogRetentionOptionObtiene la opción de retención de registro de la traza para el archivo.
Propiedad públicaTraceOutputOptionsObtiene o establece las opciones de los resultados de seguimiento. (Se hereda de TraceListener).
Propiedad públicaWriterObtiene o establece el escritor de texto subyacente que escribe en el archivo de registro.
Arriba

  NombreDescripción
Método públicoCloseCierra el archivo de registro para este agente de escucha, de modo que ya no recibe ningún resultado de la traza o la depuración. (Invalida a TextWriterTraceListener.Close).
Método públicoCreateObjRefCrea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método públicoDisposeLibera todos los recursos utilizados por TraceListener. (Se hereda de TraceListener).
Método protegidoDispose(Boolean)Infraestructura. Desecha este objeto TextWriterTraceListener. (Se hereda de TextWriterTraceListener).
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método públicoFail(String)Emite un mensaje de error para el agente de escucha que se crea al implementar la clase TraceListener. (Se hereda de TraceListener).
Método públicoFail(String, String)Escribe información de error, que incluye un mensaje de error básico y un mensaje de error detallado, en el archivo de registro. (Invalida a TraceListener.Fail(String, String)).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoFlushHace que los datos almacenados en búfer se escriban en el registro para este agente de escucha. (Invalida a TextWriterTraceListener.Flush).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetLifetimeServiceRecupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegidoGetSupportedAttributesObtiene los atributos de configuración XML personalizados que admite el agente de escucha de traza. (Invalida a TraceListener.GetSupportedAttributes).
Método públicoGetType Obtiene el Typede la instancia actual. (Se hereda de Object).
Método públicoInitializeLifetimeServiceObtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoMemberwiseClone(Boolean)Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoTraceData(TraceEventCache, String, TraceEventType, Int32, Object)Escribe la información de traza, un solo objeto de datos y la información de evento en el archivo de registro. (Invalida a TraceListener.TraceData(TraceEventCache, String, TraceEventType, Int32, Object)).
Método públicoTraceData(TraceEventCache, String, TraceEventType, Int32, Object())Escribe la información de traza, varios objetos de datos y la información de evento en el archivo de registro. (Invalida a TraceListener.TraceData(TraceEventCache, String, TraceEventType, Int32, Object())).
Método públicoTraceEvent(TraceEventCache, String, TraceEventType, Int32)Escribe la información de seguimiento y de evento en los resultados específicos del agente de escucha. (Se hereda de TraceListener).
Método públicoTraceEvent(TraceEventCache, String, TraceEventType, Int32, String)Escribe la información de traza, un mensaje y la información de evento en el archivo de registro. (Invalida a TraceListener.TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)).
Método públicoTraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object())Escribe la información de la traza, un mensaje con formato y la información de evento en el archivo de registro. (Invalida a TraceListener.TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object())).
Método públicoTraceTransferEscribe la información de traza (incluida la identidad de una actividad relacionada), un mensaje y la información de evento en el archivo de registro. (Invalida a TraceListener.TraceTransfer(TraceEventCache, String, Int32, String, Guid)).
Método públicoWrite(Object)Escribe el valor del método ToString del objeto en el agente de escucha que se crea al implementar la clase TraceListener. (Se hereda de TraceListener).
Método públicoWrite(String)Escribe un mensaje en el archivo de registro sin proporcionar ninguna información de contexto adicional. (Invalida a TextWriterTraceListener.Write(String)).
Método públicoWrite(Object, String)Escribe un nombre de categoría y el valor del método ToString del objeto en el agente de escucha que se crea al implementar la clase TraceListener. (Se hereda de TraceListener).
Método públicoWrite(String, String)Escribe un nombre de categoría y un mensaje en el agente de escucha que se crea al implementar la clase TraceListener. (Se hereda de TraceListener).
Método protegidoWriteIndentEscribe la sangría en el agente de escucha que se crea al implementar esta clase y restablece la propiedad NeedIndent en false. (Se hereda de TraceListener).
Método públicoWriteLine(Object)Escribe el valor del método ToString del objeto en el agente de escucha que se crea al implementar la clase TraceListener, seguido de un terminador de línea. (Se hereda de TraceListener).
Método públicoWriteLine(String)Escribe un mensaje seguido del terminador de línea actual del archivo de registro sin proporcionar información de contexto adicional. (Invalida a TextWriterTraceListener.WriteLine(String)).
Método públicoWriteLine(Object, String)Escribe un nombre de categoría y el valor del método ToString del objeto en el agente de escucha que se crea al implementar la clase TraceListener, seguidos de un terminador de línea. (Se hereda de TraceListener).
Método públicoWriteLine(String, String)Escribe un nombre de categoría y un mensaje en el agente de escucha que se crea al implementar la clase TraceListener, seguidos de un terminador de línea. (Se hereda de TraceListener).
Arriba

La clase EventSchemaTraceListener proporciona la traza de eventos conformes al esquema de un extremo a otro. Puede utilizar la traza de un extremo a otro en un sistema con componentes heterogéneos que atraviesan los límites de los subprocesos, de AppDomain, de los procesos y de los equipos. Se ha definido un esquema de eventos normalizado (vea Event Representation for Event Consumers) para habilitar la traza en estos límites. Este esquema es compartido por varias tecnologías de traza, incluidas las herramientas de diagnóstico de Windows Vista, como el Visor de eventos. El esquema también permite agregar elementos personalizados conformes al esquema.

EventSchemaTraceListener se ajusta para el registro del rendimiento con compatibilidad implícita con la traza sin bloqueo.

La clase EventSchemaTraceListener convierte la información de traza y de depuración en una secuencia de texto en código XML. La descripción del resultado XML se muestra en las tablas incluidas más adelante.

Se puede habilitar o deshabilitar un objeto EventSchemaTraceListener a través del archivo de configuración de la aplicación y, a continuación, se puede utilizar el objeto EventSchemaTraceListener en la aplicación. Asimismo, se puede crear un objeto EventSchemaTraceListener en el código. Se recomienda que habilite los agentes de escucha de trazas a través del archivo de configuración de la aplicación. Para obtener más información sobre los archivos de configuración de la aplicación, vea Configurar aplicaciones. Para obtener información sobre el uso de archivos de configuración para la traza y la depuración, vea Esquema de la configuración de seguimiento y depuración.

Para configurar un objeto EventSchemaTraceListener, modifique el archivo de configuración correspondiente al nombre de la aplicación. En este archivo, se pueden agregar, quitar o establecer las propiedades de un agente de escucha. El archivo de configuración debe tener el formato siguiente:

<configuration>
    <system.diagnostics>
        <sources>
            <source name="TestSource" >
                <listeners>
                    <!--Remove the default trace listener for better performance.-->
                    <remove name="Default"/>
                    <!--Note: Removing the default trace listener prevents the dialog box 
                    from being displayed for Debug.Fail or Debug.Assert commands that are 
                    executed in user mode.-->
                    <add name="eventListener" 
                      type="System.Diagnostics.EventSchemaTraceListener,  system.core"
                      initializeData="TraceOutput.xml" 
                      traceOutputOptions="ProcessId, DateTime, Timestamp" 
                      bufferSize="65536"
                      maximumFileSize="20480000"
                      logRetentionOption="LimitedCircularFiles"
                      maximumNumberOfFiles="2"/>
                </listeners>
            </source>
        </sources>
    </system.diagnostics>

La clase EventSchemaTraceListener hereda la propiedad Filter de la clase base TraceListener. La propiedad Filter permite un nivel adicional de filtrado de los resultados de trazas en el agente de escucha. Si hay un filtro, los métodos Trace del agente de escucha de trazas llaman al método ShouldTrace del filtro para determinar si debe emitirse la traza.

Si se realiza un intento de escribir en un archivo que está en uso o no está disponible, se agrega automáticamente un sufijo de GUID al nombre de archivo.

NotaNota

Los métodos de agente de escucha son llamados por los métodos de las clases Debug, Tracey TraceSource. No se llama a estos métodos directamente desde el código de la aplicación. El agente de escucha EventSchemaTraceListener sirve principalmente para que lo utilice la clase TraceSource.

En la siguiente tabla se describen los elementos y atributos de los resultados XML.

Elemento

Atributos

Output

Notas

CallStack

Ninguno

Depende de la presencia de la marca Callstack en la propiedad TraceOutputOptions.

Los caracteres especiales como > o < se reemplazan con secuencias de escape. Vea la siguiente tabla de traducción de caracteres de escape.

Computer

Ninguno

Siempre presente.

Este elemento representa el valor de la propiedad MachineName.

Correlation

ActivityID

Siempre presente.

Si no se especifica ActivityID, el valor predeterminado es un GUID vacío.

RelatedActivityID

Depende de la presencia del parámetro relatedActivityId en la llamada al método Trace.

El atributo RelatedActivityID corresponde al parámetro relatedActivityId del método TraceTransfer.

Data

Ninguno

Siempre presente.

Este elemento representa la entrada del parámetro data. Se proporciona un elemento para cada objeto de datos. En el caso de los registros de eventos, el elemento Data contiene los datos XML de escape. En el caso de los registros de los datos, el elemento Data contiene datos sin escape. La salida del registro de datos utiliza el método ToString de los objetos de datos que se han pasado.

Event

Ninguno

Siempre presente.

Este elemento contiene un evento de traza.

EventData

Ninguno

Presente para los registros de eventos.

Este elemento representa la entrada del parámetro (message, args). Contiene elementos Data con datos XML de escape que se crean llamando al método TraceEvent.

EventID

Ninguno

Siempre presente.

Este elemento representa la entrada del parámetro id.

Execution

ProcessID

Depende de la presencia de la marca ProcessId en la propiedad TraceOutputOptions.

El atributo ProcessID se especifica en TraceEventCache. En los sistemas operativos Microsoft Windows 98 y Windows Millenium Edition, si el valor de ProcessID es mayor que 2.147.483.647, es una representación positiva de un número negativo y debe convertirse para obtener el identificador de proceso correcto.

ThreadID

Presente cuando ProcessID está presente.

El atributo ThreadID se especifica en TraceEventCache.

Level

Ninguno

Siempre presente.

Este elemento representa la entrada del parámetro (el valor numérico de eventType). Los valores de parámetro mayores que 255 se generan como un nivel 8, que representa TraceEventType.Information. Los tipos de eventos de traza Critical, Error, Warning, Informationy Verbose tienen como resultado los niveles 1, 2, 4, 8 y 10, respectivamente.

LogicalOperationStack

Ninguno

Depende de la presencia del marcador LogicalOperationStack en la propiedad TraceOutputOptions.

Sólo puede existir una operación lógica. Por consiguiente, los valores se escriben como nodos LogicalOperation bajo el elemento LogicalOperationStack.

OpCode

Ninguno

Presente cuando Level es mayor que 255.

Este elemento representa tipos de evento de seguimiento con valores numéricos mayores que 255. Start , Stop, Suspend, Resume o Transfer se generan como niveles 1, 2, 4, 8 y 10, respectivamente.

Provider

GUID

Siempre presente.

Siempre vacío.

RenderingInfo

Culture

Siempre presente.

Este atributo representa una cadena de recursos para el tipo de evento. Siempre es "en-EN\".

System

Name

Siempre presente.

TimeCreated

SystemTime

Depende de la presencia de la marca DateTime en la propiedad TraceOutputOptions.

La hora es el valor de la propiedad TraceEventCache.DateTime. Esta propiedad se expresa como Hora universal coordinada.

TimeStamp

Ninguno

Depende de la presencia de la marca Timestamp en la propiedad TraceOutputOptions.

Este elemento se especifica en TraceEventCache.

UserData

Ninguno

Presente para los registros de datos.

Este elemento contiene elementos Data con datos sin escape proporcionados por el usuario, provenientes de un método TraceData.

En la tabla siguiente se muestran los caracteres a los que se aplican secuencias de escape en los resultados XML. El escape se produce en todos los elementos y atributos, excepto en el elemento UserData, que contiene datos sin escape proporcionados por el usuario. El elemento UserData es un resultado de las llamadas al método TraceData.

Carácter de escape

Valor

&

&amp;

<

&lt;

>

&gt;

"

&quot;

\

&apos;

0xD

&#xD;

0xA

&#xA;

NotaNota

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el siguiente valor de la propiedad Resources: MayLeakOnAbort | Synchronization. El atributo HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o introduciendo una dirección URL en el explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación en SQL Server y atributos de protección de host.

En el ejemplo de código siguiente se muestra cómo se utiliza la clase EventSchemaTraceListener.


#Const NOCONFIGFILE = True
Imports System
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Diagnostics

Class testClass

    <STAThreadAttribute()> _
    Shared Sub Main()
        File.Delete("TraceOutput.xml")
        Dim ts As New TraceSource("TestSource")
#If NOCONFIGFILE Then
        ts.Listeners.Add(New EventSchemaTraceListener("TraceOutput.xml", "eventListener", 65536, TraceLogRetentionOption.LimitedCircularFiles, 20480000, 2))
        ts.Listeners("eventListener").TraceOutputOptions = TraceOptions.DateTime Or TraceOptions.ProcessId Or TraceOptions.Timestamp
#End If
        ts.Switch.Level = SourceLevels.All
        Dim testString As String = "<Test><InnerElement Val=""1"" /><InnerElement Val=""Data""/><AnotherElement>11</AnotherElement></Test>"
        Dim unXData As New UnescapedXmlDiagnosticData(testString)
        ts.TraceData(TraceEventType.Error, 38, unXData)
        ts.TraceEvent(TraceEventType.Error, 38, testString)
        ts.Flush()
        ts.Close()
        DisplayProperties(ts)
        Process.Start("notepad.exe", "TraceOutput.xml")
        Console.WriteLine("Press the enter key to exit")
        Console.ReadLine()

    End Sub 'Main

    Private Shared Sub DisplayProperties(ByVal ts As TraceSource)
        Console.WriteLine("IsThreadSafe? " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).IsThreadSafe.ToString())
        Console.WriteLine("BufferSize =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).BufferSize.ToString())
        Console.WriteLine("MaximumFileSize =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).MaximumFileSize.ToString())
        Console.WriteLine("MaximumNumberOfFiles =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).MaximumNumberOfFiles.ToString())
        Console.WriteLine("Name =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).Name)
        Console.WriteLine("TraceLogRetentionOption =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).TraceLogRetentionOption.ToString())
        Console.WriteLine("TraceOutputOptions =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).TraceOutputOptions.ToString())
    End Sub
End Class 'testClass


.NET Framework

Compatible con: 4, 3.5

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft