<trace> Element

Contains listeners that collect, store, and route tracing messages.

<configuration> Element
  <system.diagnostics> Element
    <trace> Element

<trace autoflush="true|false" 
       indentsize="indent value"
       useGlobalLock="true| false"/>

Attributes and Elements

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute

Description

autoflush

Optional attribute.

Specifies whether the trace listeners automatically flush the output buffer after every write operation.

indentsize

Optional attribute.

Specifies the number of spaces to indent.

useGlobalLock

Optional attribute.

Indicates whether the global lock should be used.

autoflush Attribute

Value

Description

false

Does not automatically flush the output buffer. This is the default.

true

Automatically flushes the output buffer.

useGlobalLock Attribute

Value

Description

false

Does not use the global lock if the listener is thread safe; otherwise, uses the global lock.

true

Uses the global lock regardless of whether the listener is thread safe. This is the default.

Child Elements

Element

Description

<listeners>

Specifies a listener that collects, stores, and routes messages.

Parent Elements

Element

Description

configuration

The root element in every configuration file used by the common language runtime and .NET Framework applications.

system.diagnostics

Specifies trace listeners that collect, store, and route messages and the level where a trace switch is set.

Example

The following example shows how to use the <trace> element to add the listener MyListener to the Listeners collection. MyListener creates a file that is named MyListener.log and writes the output to the file. The useGlobalLock attribute is set to false, which causes the global lock not to be used if the trace listener is thread safe. The autoflush attribute is set to true, which causes the trace listener to write to the file regardless of whether the Trace.Flush method is called. The indentsize attribute is set to 0 (zero), which causes the listener to indent zero spaces when the Trace.Indent method is called.

<configuration>
   <system.diagnostics>
      <trace useGlobalLock="false" autoflush="true" indentsize="0">
         <listeners>
            <add name="myListener" type="System.Diagnostics.TextWriterTraceListener, system version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\myListener.log" />
         </listeners>
      </trace>
   </system.diagnostics>
</configuration>

See Also

Reference

Trace and Debug Settings Schema

TraceListener

DefaultTraceListener

TextWriterTraceListener

EventLogTraceListener