Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

XmlWriterTraceListener (Clase)

Dirige los resultados de traza o de depuración como datos en código XML a un TextWriter o a una Stream, como una FileStream.

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

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true)]
public class XmlWriterTraceListener : TextWriterTraceListener

El tipo XmlWriterTraceListener expone los siguientes miembros.

  NombreDescripción
Método públicoXmlWriterTraceListener(Stream)Inicializa una nueva instancia de la clase XmlWriterTraceListener utilizando la secuencia especificada como destinatario de los resultados de traza y de depuración.
Método públicoXmlWriterTraceListener(String)Inicializa una nueva instancia de la clase XmlWriterTraceListener utilizando el archivo especificado como destinatario de los resultados de traza y de depuración.
Método públicoXmlWriterTraceListener(TextWriter)Inicializa una nueva instancia de la clase XmlWriterTraceListener utilizando el sistema de escritura especificado como destinatario de los resultados de traza y de depuración.
Método públicoXmlWriterTraceListener(Stream, String)Inicializa una nueva instancia de la clase XmlWriterTraceListener con el nombre especificado, utilizando la secuencia especificada como destinatario de los resultados de traza y de depuración.
Método públicoXmlWriterTraceListener(String, String)Inicializa una nueva instancia de la clase XmlWriterTraceListener con el nombre especificado, utilizando el archivo especificado como destinatario de los resultados de traza y de depuración.
Método públicoXmlWriterTraceListener(TextWriter, String)Inicializa una nueva instancia de la clase XmlWriterTraceListener con el nombre especificado, utilizando el sistema de escritura especificado como destinatario de los resultados de traza y de 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ú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. (Se hereda de TraceListener).
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úblicaTraceOutputOptionsObtiene o establece las opciones de los resultados de seguimiento. (Se hereda de TraceListener).
Propiedad públicaWriterObtiene o establece el escritor de texto que recibe los resultados de la traza o la depuración. (Se hereda de TextWriterTraceListener).
Arriba

  NombreDescripción
Método públicoCloseCierra Writer 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úblicoDispose()Libera 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 especificado es igual al objeto 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 la información de seguimiento que incluye un mensaje de error y un mensaje de error detallado en el archivo o el flujo. (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úblicoFlushVacía el búfer de resultados de la propiedad Writer. (Se hereda de TextWriterTraceListener).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (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 personalizados admitidos por el agente de escucha de seguimiento. (Se hereda de TraceListener).
Método públicoGetType Obtiene el Type de 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 seguimiento, los objetos de datos y la información de evento en el archivo o el flujo. (Invalida a TraceListener.TraceData(TraceEventCache, String, TraceEventType, Int32, Object)).
Método públicoTraceData(TraceEventCache, String, TraceEventType, Int32, Object[])Escribe la información de seguimiento, los objetos de datos y la información de evento en el archivo o el flujo. (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 seguimiento, los mensajes y la información de evento en el archivo o el flujo. (Invalida a TraceListener.TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)).
Método públicoTraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])Escribe la información de seguimiento, los mensajes con formato y la información de evento en el archivo o el flujo. (Invalida a TraceListener.TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])).
Método públicoTraceTransferEscribe la información de seguimiento, incluida la identidad de una actividad relacionada, un mensaje e información de evento en el archivo o el flujo. (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 textual sin información de contexto adicional en el archivo o el flujo. (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 textual sin información de contexto adicional, seguido del actual terminador de línea, en el archivo o el flujo. (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

NotaNota

Es preciso tener permiso de código no administrado para crear una instancia de la clase XmlWriterTraceListener.

La clase XmlWriterTraceListener convierte la información de traza y de depuración en una secuencia de texto en código XML. La descripción de los resultados XML se muestra en las siguientes tablas. Puede usar Herramienta de Visor de traza de servicio (SvcTraceViewer.exe) para mostrar la salida XML.

Se puede habilitar o deshabilitar un XmlWriterTraceListener a través del archivo de configuración de la aplicación y, a continuación, utilizar el XmlWriterTraceListener configurado en la aplicación. Asimismo, se puede crear un XmlWriterTraceListener en el código.

Para configurar un XmlWriterTraceListener, edite el archivo de configuración correspondiente al nombre de la aplicación. En este archivo, se puede agregar o quitar un agente de escucha, establecer las propiedades de un agente de escucha o quitar agentes de escucha. El archivo de configuración debería tener el formato que se muestra en el siguiente ejemplo.

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="4">
      <listeners>
        <add name="xmlListener" 
          type="System.Diagnostics.XmlWriterTraceListener" 
          initializeData="xmlOutput.xml" 
          traceOutputOptions="ProcessId, DateTime" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

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

NotaNota

Si se intenta escribir en un archivo que está en uso o no está disponible, delante del nombre del archivo se agrega automáticamente un identificador único global (GUID).

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 XmlWriterTraceListener sirve principalmente para que lo utilice la clase TraceSource. Las clases Trace y Debug pueden llamar a los métodos Write y WriteLine, y se proporcionan valores predeterminados para los elementos XML para los que Trace y Debug no proporcionan valores.

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

Elemento

Atributos

Output

Notas

CallStack

None

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 tabla de conversión de los caracteres de escape que figura a continuación.

Computer

None

Siempre presente.

Valor de la propiedad MachineName.

Correlation

ActivityID

Siempre presente.

Si no se especifica, 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 parámetro relatedActivityId del método TraceTransfer.

DataItem

None

Depende del parámetro data del método TraceData.

Este elemento puede contener una matriz de elementos o un elemento, por lo que los valores se escriben como un conjunto de nodos DataItem debajo del elemento TraceData.

La salida de datos utiliza el método ToString de los objetos de datos que se han pasado.

EventID

None

Siempre presente.

Entrada de parámetro (id).

Execution

ProcessName

Siempre presente.

De TraceEventCache.

ProcessID

Siempre presente.

De TraceEventCache. En los sistemas operativos Windows 98 y Windows Me, 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

Siempre presente.

De TraceEventCache.

Level

None

Siempre presente.

Entrada de parámetro (el valor numérico de eventType). Los valores de parámetro mayores que 255 salen como 255.

LogicalOperationStack

None

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

Puede haber más de una operación lógica, por lo que los valores se escriben como nodos LogicalOperation debajo del elemento LogicalOperationStack.

Message

None

Depende de la presencia de un mensaje en la llamada al método Trace.

Este elemento es un mensaje con formato si se proporcionan argumentos de formato.

Source

Name

Siempre presente.

Entrada de parámetro.

SubType

Name

Siempre presente.

Entrada de parámetro.

TimeCreated

SystemTime

Siempre presente.

Si no está presente en TraceEventCache, el valor predeterminado es la hora actual.

TimeStamp

None

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

De TraceEventCache.

Type

None

Siempre presente.

Siempre el valor 3.

En la tabla siguiente se muestran los caracteres a los que se aplican secuencias de escape en los resultados XML. La aplicación de secuencias de escape afecta a todos los elementos y atributos, a excepción del elemento DataItem, al que no se aplica la secuencia de escape si el objeto que se pasa al parámetro data del método TraceData es un objeto XPathNavigator. Si para el objeto de datos se utiliza XPathNavigator, se llama al método MoveToRoot y el seguimiento de todo el nodo raíz se realiza como si se tratara de datos de cadena sin escape.

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 propiedad Resources: 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 el uso de la clase XmlWriterTraceListener para escribir datos de cadena con o sin escape en registros de archivos.


using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;

class testClass
{
    static void Main()
    {
        File.Delete("NotEscaped.xml");
        TraceSource ts = new TraceSource("TestSource");
        ts.Listeners.Add(new XmlWriterTraceListener("NotEscaped.xml"));
        ts.Switch.Level = SourceLevels.All;
        string testString = "<Test><InnerElement Val=\"1\" /><InnerElement Val=\"Data\"/><AnotherElement>11</AnotherElement></Test>";
        XmlTextReader myXml = new XmlTextReader(new StringReader(testString));
        XPathDocument xDoc = new XPathDocument(myXml);
        XPathNavigator myNav = xDoc.CreateNavigator();
        ts.TraceData(TraceEventType.Error, 38, myNav);

        ts.Flush();
        ts.Close();

        File.Delete("Escaped.xml");
        TraceSource ts2 = new TraceSource("TestSource2");
        ts2.Listeners.Add(new XmlWriterTraceListener("Escaped.xml"));
        ts2.Switch.Level = SourceLevels.All;
        ts2.TraceData(TraceEventType.Error, 38, testString);

        ts2.Flush();
        ts2.Close();
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.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