The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the collection of listeners that is monitoring the trace output.

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

public static TraceListenerCollection Listeners {
	[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
property TraceListenerCollection^ Listeners {
	[HostProtectionAttribute(SecurityAction::LinkDemand, SharedState = true)]
	static TraceListenerCollection^ get();
static member Listeners : TraceListenerCollection with get
Public Shared ReadOnly Property Listeners As TraceListenerCollection

Property Value


A TraceListenerCollection that represents a collection of type TraceListener monitoring the trace output.

The listeners produce formatted output from the trace output. By default, the collection contains an instance of the DefaultTraceListener class. If you want to remove the default listener, call the Remove method, and pass it the instance of the DefaultTraceListener. To redirect output to the console window, add an instance of the ConsoleTraceListener class.


The collection is shared by both the Debug and the Trace classes; adding a trace listener to either class adds the listener to both.

The following example creates a ConsoleTraceListener that outputs to the console screen. The code then adds the new listener to the .

/* Create a ConsoleTraceListener and add it to the trace listeners. */
ConsoleTraceListener myWriter = new
' Create a ConsoleTraceListener and add it to the trace listeners. 
Dim myWriter As New ConsoleTraceListener()
// Create a ConsoletTraceListener and add it to the trace listeners.
#if defined(TRACE)
ConsoleTraceListener^ myWriter = gcnew ConsoleTraceListener( );
Trace::Listeners->Add( myWriter );

for operating with unmanaged code. Security action: Demand. Associated enumeration: SecurityPermissionFlagUnmanagedCode

.NET Framework
Available since 1.1
Return to top