Esta documentación está archivada y no tiene mantenimiento.

EventProviderTraceListener (Clase)

Actualización: noviembre 2007

Agente de escucha de System.Diagnostics.TraceSource que escribe los eventos en el subsistema ETW.

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

[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public class EventProviderTraceListener : TraceListener
/** @attribute HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true) */
public class EventProviderTraceListener extends TraceListener
public class EventProviderTraceListener extends TraceListener

Bb302992.alert_note(es-es,VS.90).gifNota:

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el siguiente valor de la propiedad Resources: MayLeakOnAbort. 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 de SQL Server y atributos de protección del host.

Todo los datos de eventos (seguimiento o depuración) del evento de origen se escriben en el subsistema ETW como una cadena. Los elementos de datos se delimitan mediante comas. Para especificar un delimitador distinto, utilice la propiedad Delimiter.

Al agregar el agente de escucha a System.Diagnostics.TraceSource, el proveedor se registra con el subsistema ETW. Debe crear una sesión de seguimiento ETW utilizando el programa ejecutable Logman.exe (o similar) para escribir los eventos en un archivo de registro.

No es necesario que un manifiesto utilice los eventos del agente de escucha porque los datos de evento están formados por una única cadena.

Al llamar a los métodos System.Diagnostics.TraceSource para escribir eventos, se pasa un valor de enumeración TraceEventType. La enumeración contiene valores de nivel y de palabra clave. Al habilitar un proveedor de agentes de escucha de seguimiento desde una sesión ETW, el valor de nivel especificado puede ser el valor asociado a uno de los siguientes valores de enumeración TraceEventType:

  • Critical (el valor es 1)

  • Error (el valor es 2)

  • Information (el valor es 8)

  • Verbose (el valor es 16)

  • Warning (el valor es 4)

El valor de palabra clave especificado para la sesión puede ser el valor asociado a uno de los siguientes valores de enumeración TraceEventType:

  • Resume (el valor es 2.048)

  • Start (el valor es 256)

  • Stop (el valor es 512)

  • Suspend (el valor es 1.024)

  • Transfer (el valor es 4.096)

        private static Guid providerId = new Guid("{B3F0C8FC-E8A8-4868-8901-1465E8A2F41B}");

            EventProviderTraceListener listener = new EventProviderTraceListener(providerId.ToString(), "Test Listener", "::");

            // You should use the All default level and control the level using the
            // ETW session; otherwise, you may not log all the events requested by the
            // session.
            TraceSource source = new TraceSource("MyProvider", SourceLevels.All);

            source.Listeners.Add(listener);

            source.TraceData(TraceEventType.Warning | TraceEventType.Start, 2, new object[] { "abc", "def", true, 123 });

            source.TraceEvent(TraceEventType.Warning, 12, "Provider guid: {0}", new object[] { providerId });

            source.TraceInformation("string {0}, bool {1}, int {2}, ushort {3}", new object[] { "abc", false, 123, (UInt32)5 });

System.Object
  System.MarshalByRefObject
    System.Diagnostics.TraceListener
      System.Diagnostics.Eventing.EventProviderTraceListener

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.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5
Mostrar: