EventProviderTraceListener Class

 

A listener for System.Diagnostics::TraceSource that writes events to the ETW subsytem.

Namespace:   System.Diagnostics.Eventing
Assembly:  System.Core (in System.Core.dll)

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

[HostProtectionAttribute(SecurityAction::LinkDemand, MayLeakOnAbort = true)]
public ref class EventProviderTraceListener : TraceListener

NameDescription
System_CAPS_pubmethodEventProviderTraceListener(String^)

Initializes a new instance of the EventProviderTraceListener class using the specified provider identifier.

System_CAPS_pubmethodEventProviderTraceListener(String^, String^)

Initializes a new instance of the EventProviderTraceListener class using the specified provider identifier and name of the listener.

System_CAPS_pubmethodEventProviderTraceListener(String^, String^, String^)

Initializes a new instance of the EventProviderTraceListener class using the specified provider identifier, name of the listener, and delimiter.

NameDescription
System_CAPS_pubpropertyAttributes

Gets the custom trace listener attributes defined in the application configuration file.(Inherited from TraceListener.)

System_CAPS_pubpropertyDelimiter

Gets and sets the delimiter used to delimit the event data that is written to the ETW subsystem.

System_CAPS_pubpropertyFilter

Gets and sets the trace filter for the trace listener.(Inherited from TraceListener.)

System_CAPS_pubpropertyIndentLevel

Gets or sets the indent level.(Inherited from TraceListener.)

System_CAPS_pubpropertyIndentSize

Gets or sets the number of spaces in an indent.(Inherited from TraceListener.)

System_CAPS_pubpropertyIsThreadSafe

Gets a value indicating whether the trace listener is thread safe.(Overrides TraceListener::IsThreadSafe.)

System_CAPS_pubpropertyName

Gets or sets a name for this TraceListener.(Inherited from TraceListener.)

System_CAPS_protpropertyNeedIndent

Gets or sets a value indicating whether to indent the output.(Inherited from TraceListener.)

System_CAPS_pubpropertyTraceOutputOptions

Gets or sets the trace output options.(Inherited from TraceListener.)

NameDescription
System_CAPS_pubmethodClose()

Closes the output stream so it no longer receives tracing or debugging output.(Overrides TraceListener::Close().)

System_CAPS_pubmethodCreateObjRef(Type^)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.(Inherited from MarshalByRefObject.)

System_CAPS_pubmethodDispose()

Releases all resources used by the TraceListener.(Inherited from TraceListener.)

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources used by the TraceListener and optionally releases the managed resources.(Inherited from TraceListener.)

System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodFail(String^)

Emits an error message to the listener you create when you implement the TraceListener class.(Inherited from TraceListener.)

System_CAPS_pubmethodFail(String^, String^)

Emits an error message and a detailed error message to the listener you create when you implement the TraceListener class.(Overrides TraceListener::Fail(String^, String^).)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodFlush()

Flushes the output buffer.(Overrides TraceListener::Flush().)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetLifetimeService()

Retrieves the current lifetime service object that controls the lifetime policy for this instance.(Inherited from MarshalByRefObject.)

System_CAPS_protmethodGetSupportedAttributes()

Gets the custom attributes supported by the trace listener.(Overrides TraceListener::GetSupportedAttributes().)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtains a lifetime service object to control the lifetime policy for this instance.(Inherited from MarshalByRefObject.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.(Inherited from MarshalByRefObject.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodTraceData(TraceEventCache^, String^, TraceEventType, Int32, Object^)

Writes trace information, a data object and event information to the listener specific output.(Overrides TraceListener::TraceData(TraceEventCache^, String^, TraceEventType, Int32, Object^).)

System_CAPS_pubmethodTraceData(TraceEventCache^, String^, TraceEventType, Int32, array<Object^>^)

Writes trace information, a data object and event information to the listener specific output.(Overrides TraceListener::TraceData(TraceEventCache^, String^, TraceEventType, Int32, array<Object^>^).)

System_CAPS_pubmethodTraceEvent(TraceEventCache^, String^, TraceEventType, Int32)

Writes trace and event information to the listener specific output.(Overrides TraceListener::TraceEvent(TraceEventCache^, String^, TraceEventType, Int32).)

System_CAPS_pubmethodTraceEvent(TraceEventCache^, String^, TraceEventType, Int32, String^)

Writes trace information, a message, and event information to the listener specific output.(Overrides TraceListener::TraceEvent(TraceEventCache^, String^, TraceEventType, Int32, String^).)

System_CAPS_pubmethodTraceEvent(TraceEventCache^, String^, TraceEventType, Int32, String^, array<Object^>^)

Writes trace information, a formatted array of objects and event information to the listener specific output.(Overrides TraceListener::TraceEvent(TraceEventCache^, String^, TraceEventType, Int32, String^, array<Object^>^).)

System_CAPS_pubmethodTraceTransfer(TraceEventCache^, String^, Int32, String^, Guid)

Writes trace information, a message, a related activity identity and event information to the listener specific output.(Overrides TraceListener::TraceTransfer(TraceEventCache^, String^, Int32, String^, Guid).)

System_CAPS_pubmethodWrite(Object^)

Writes the value of the object's ToString method to the listener you create when you implement the TraceListener class.(Inherited from TraceListener.)

System_CAPS_pubmethodWrite(Object^, String^)

Writes a category name and the value of the object's ToString method to the listener you create when you implement the TraceListener class.(Inherited from TraceListener.)

System_CAPS_pubmethodWrite(String^)

When overridden in a derived class, writes the specified message to the listener you create in the derived class.(Overrides TraceListener::Write(String^).)

System_CAPS_pubmethodWrite(String^, String^)

Writes a category name and a message to the listener you create when you implement the TraceListener class.(Inherited from TraceListener.)

System_CAPS_protmethodWriteIndent()

Writes the indent to the listener you create when you implement this class, and resets the NeedIndent property to false.(Inherited from TraceListener.)

System_CAPS_pubmethodWriteLine(Object^)

Writes the value of the object's ToString method to the listener you create when you implement the TraceListener class, followed by a line terminator.(Inherited from TraceListener.)

System_CAPS_pubmethodWriteLine(Object^, String^)

Writes a category name and the value of the object's ToString method to the listener you create when you implement the TraceListener class, followed by a line terminator.(Inherited from TraceListener.)

System_CAPS_pubmethodWriteLine(String^)

When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator.(Overrides TraceListener::WriteLine(String^).)

System_CAPS_pubmethodWriteLine(String^, String^)

Writes a category name and a message to the listener you create when you implement the TraceListener class, followed by a line terminator.(Inherited from TraceListener.)

All event data (trace or debug) from the source event is written to the ETW subsystem as a string. The data elements are delimited using a comma. To specify a different delimiter, use the Delimiter property.

Adding the listener to System.Diagnostics::TraceSource registers the provider with the ETW subsystem. You must create an ETW trace session using the Logman.exe executable program (or something similar) to write the events to a log file.

You do not need a manifest to consume events from the listener because the event data is a single string.

When you call the System.Diagnostics::TraceSource methods to write events, you pass a System.Diagnostics::TraceEventType enumeration value. The enumeration contains both level and keyword values. When you enable a trace listener provider from an ETW session, the level value that you specify can be the value associated with one of the following System.Diagnostics::TraceEventType enumeration values:

  • Critical (value is 1)

  • Error (value is 2)

  • Information (value is 8)

  • Verbose (value is 16)

  • Warning (value is 4)

The keyword value that you specify for the session can be the value associated with one of the following System.Diagnostics::TraceEventType enumeration values:

  • Resume (value is 2,048)

  • Start (value is 256)

  • Stop (value is 512)

  • Suspend (value is 1,024)

  • Transfer (value is 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 });

.NET Framework
Available since 3.5

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: