TraceListener Class

Definition

Provides the abstract base class for the listeners who monitor trace and debug output.

C#
public abstract class TraceListener : MarshalByRefObject, IDisposable
C#
public abstract class TraceListener : IDisposable
Inheritance
TraceListener
Inheritance
TraceListener
Derived
Implements

Remarks

For examples of how to implement a TraceListener, see the DefaultTraceListener, TextWriterTraceListener and the EventLogTraceListener classes.

You must enable tracing or debugging to use a trace listener. The following syntax is compiler specific. If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.

  • To enable debugging in C#, add the /d:DEBUG flag to the compiler command line when you compile your code, or you can add #define DEBUG to the top of your file. In Visual Basic, add the /d:DEBUG=True flag to the compiler command line.

  • To enable tracing in C#, add the /d:TRACE flag to the compiler command line when you compile your code, or add #define TRACE to the top of your file. In Visual Basic, add the /d:TRACE=True flag to the compiler command line.

To add a trace listener, edit the configuration file that corresponds to the name of your application. Within this file, you can add a listener, set its type and set its parameter, remove a listener, or clear all the listeners previously set by the application. The configuration file should be formatted similar to the following example.

XML
<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="4">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

For more information on using configuration files for tracing, see <system.diagnostics>.

Notes to Implementers

Inherit from this class to implement a custom listener for the Debug and Trace classes. At a minimum, you must implement the Write(String) and WriteLine(String) methods. Additionally, you can implement the Fail(String), Close() and Flush() methods.

Constructors

TraceListener()

Initializes a new instance of the TraceListener class.

TraceListener(String)

Initializes a new instance of the TraceListener class using the specified name as the listener.

Properties

Attributes

Gets the custom trace listener attributes defined in the application configuration file.

Filter

Gets or sets the trace filter for the trace listener.

IndentLevel

Gets or sets the indent level.

IndentSize

Gets or sets the number of spaces in an indent.

IsThreadSafe

Gets a value indicating whether the trace listener is thread safe.

Name

Gets or sets a name for this TraceListener.

NeedIndent

Gets or sets a value indicating whether to indent the output.

TraceOutputOptions

Gets or sets the trace output options.

Methods

Close()

When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output.

CreateObjRef(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)
Dispose()

Releases all resources used by the TraceListener.

Dispose(Boolean)

Releases the unmanaged resources used by the TraceListener and optionally releases the managed resources.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fail(String, String)

Emits an error message and a detailed error message to the listener you create when you implement the TraceListener class.

Fail(String)

Emits an error message to the listener you create when you implement the TraceListener class.

Flush()

When overridden in a derived class, flushes the output buffer.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()
Obsolete.

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetSupportedAttributes()

Gets the custom attributes supported by the trace listener.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()
Obsolete.

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Writes trace information, a data object and event information to the listener specific output.

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Writes trace information, an array of data objects and event information to the listener specific output.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Writes trace information, a formatted array of objects and event information to the listener specific output.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Writes trace information, a message, and event information to the listener specific output.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Writes trace and event information to the listener specific output.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Writes trace information, a message, a related activity identity and event information to the listener specific output.

Write(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.

Write(Object)

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

Write(String, String)

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

Write(String)

When overridden in a derived class, writes the specified message to the listener you create in the derived class.

WriteIndent()

Writes the indent to the listener you create when you implement this class, and resets the NeedIndent property to false.

WriteLine(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.

WriteLine(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.

WriteLine(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.

WriteLine(String)

When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Thread Safety

This type is thread safe.

See also