<Type Name="TraceListener" FullName="System.Diagnostics.TraceListener">
  <TypeSignature Language="C#" Value="public abstract class TraceListener : System.MarshalByRefObject, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes>
      <Attribute>
        <AttributeName>System.Resources.NeutralResourcesLanguageAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.SatelliteContractVersionAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.CLSCompliantAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Runtime.InteropServices.ComVisibleAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Security.AllowPartiallyTrustedCallersAttribute</AttributeName>
      </Attribute>
    </Attributes>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Diagnostic message handler.</summary>
    <remarks>
      <para>Instances of the TraceListener class are used by the <see cref="T:System.Diagnostics.Debug" /> and <see cref="T:System.Diagnostics.Trace" /> classes for handling diagnostic (trace) messages.</para>
      <para>TraceListeners can be managed either through application code, or through the application .config file, by using the (XPath) <c>/configuration/system.diagnostics/trace/listeners</c> and related elements.</para>
      <para>To manage TraceListeners in the .config file:</para>
      <list type="bullet">
        <item>
          <term>To add a TraceListener, use the (XPath) <c>/configuration/system.diagnostics/trace/listeners/add</c> element, setting the <c>name</c>, <c>type</c>, and (optional) <c>initializeData</c> attributes.  The <c>name</c> attribute sets the <see cref="P:System.Diagnostics.TraceListener.Name" /> property, and allows the TraceListener to be removed by-name.  The <c>type</c> attribute is the type to instantiate, through <see cref="M:System.Activator.CreateInstance" />.  The <c>initializeData</c> attribute is a <see cref="T:System.String" /> to pass to the type's constructor; it's meaning is dependent upon the type instantiated.</term>
        </item>
        <item>
          <term>To remove a TraceListener, use the (XPath) <c>/configuration/system.diagnostics/trace/listeners/remove</c> element, setting the <c>name</c> attribute to the name of the TraceListener to remove.</term>
        </item>
        <item>
          <term>To remove all TraceListeners, use the (XPath) <c>/configuration/system.diagnostics/trace/listeners/clear</c> element.</term>
        </item>
      </list>
      <para>The application .config file can also be used to set the default values of the <see cref="P:System.Diagnostics.Trace.AutoFlush" /> and <see cref="P:System.Diagnostics.Trace.IndentSize" /> properties on the <see cref="T:System.Diagnostics.Debug" /> and <see cref="T:System.Diagnostics.Trace" /> classes, by setting the <c>autoflush</c> and <c>indentsize</c> attributes on the (XPath) <c>/configuration/system.diagnostics/trace</c> element.</para>
      <para>A sample .config file setting all of these elements:</para>
      <example>
        <code lang="Application .config file">
&lt;configuration&gt;
  &lt;system.diagnostics&gt;
    &lt;!-- Turns off System.Diagnostics.Trace.AutoFlush and 
        sets System.Diagnostics.Trace.TraceListener.IndentSize to 8. --&gt;
    &lt;trace autoflush="false" indentsize="8"&gt;
      &lt;listeners&gt;
        &lt;!-- Add the "foo" TraceListener --&gt;
        &lt;add name="foo" 
          type="System.Diagnostics.TextWriterTraceListener, System"
          initializeData="some-file.txt"/&gt;
        &lt;!-- Remove the TraceListener we just added --&gt;
        &lt;remove name="foo"/&gt;
        &lt;!-- Remove all TraceListeners.  This also removes the DefaultTraceListener --&gt;
        &lt;clear/&gt;
        &lt;!-- Add the DefaultTraceListener back. --&gt;
        &lt;add name="Default"
          type="System.Diagnostics.DefaultTraceListener, System"/&gt;
      &lt;/listeners&gt;
    &lt;/trace&gt;
  &lt;/system.diagnostics&gt;
&lt;/configuration&gt;</code>
      </example>
      <para>
        <block subset="none" type="note">The string specified in the <c>type</c> attribute will need to be a fully-qualified class name to operate properly with shared assemblies.  More specifically, "<c>System.Diagnostics.TextWriterTraceListener, System</c>" will not work on .NET, as that is the fully-qualified class name for a private assembly, not the public/shared assemby part of .NET.  Instead, .NET requires "<c>System.Diagnostics.TextWriterTraceListener, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</c>".</block>
      </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.MarshalByRefObject</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public virtual void Dispose ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="WriteLine">
      <MemberSignature Language="C#" Value="public virtual void WriteLine (object o, string category);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="o" Type="System.Object" />
        <Parameter Name="category" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="o">To be added: an object of type 'object'</param>
        <param name="category">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="WriteLine">
      <MemberSignature Language="C#" Value="public virtual void WriteLine (string message, string category);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message" Type="System.String" />
        <Parameter Name="category" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="message">To be added: an object of type 'string'</param>
        <param name="category">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="WriteLine">
      <MemberSignature Language="C#" Value="public virtual void WriteLine (object o);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="o" Type="System.Object" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="o">To be added: an object of type 'object'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="WriteLine">
      <MemberSignature Language="C#" Value="public virtual void WriteLine (string message);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="message">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="WriteIndent">
      <MemberSignature Language="C#" Value="protected virtual void WriteIndent ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="C#" Value="public virtual void Write (object o, string category);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="o" Type="System.Object" />
        <Parameter Name="category" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="o">To be added: an object of type 'object'</param>
        <param name="category">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="C#" Value="public virtual void Write (string message, string category);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message" Type="System.String" />
        <Parameter Name="category" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="message">To be added: an object of type 'string'</param>
        <param name="category">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="C#" Value="public virtual void Write (object o);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="o" Type="System.Object" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="o">To be added: an object of type 'object'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="C#" Value="public virtual void Write (string message);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="message">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Fail">
      <MemberSignature Language="C#" Value="public virtual void Fail (string message, string detailMessage);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message" Type="System.String" />
        <Parameter Name="detailMessage" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="message">To be added: an object of type 'string'</param>
        <param name="detailMessage">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Fail">
      <MemberSignature Language="C#" Value="public virtual void Fail (string message);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="message">To be added: an object of type 'string'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Flush">
      <MemberSignature Language="C#" Value="public virtual void Flush ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Close">
      <MemberSignature Language="C#" Value="public virtual void Close ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="disposing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="disposing">To be added: an object of type 'bool'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected TraceListener ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'TraceListener'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected TraceListener (string name);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="name">To be added: an object of type 'string'</param>
        <returns>To be added: an object of type 'TraceListener'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Name">
      <MemberSignature Language="C#" Value="public virtual string Name { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">To be added: an object of type 'string'</param>
        <returns>To be added: an object of type 'string'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IndentLevel">
      <MemberSignature Language="C#" Value="public int IndentLevel { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">To be added: an object of type 'int'</param>
        <returns>To be added: an object of type 'int'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IndentSize">
      <MemberSignature Language="C#" Value="public int IndentSize { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">To be added: an object of type 'int'</param>
        <returns>To be added: an object of type 'int'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NeedIndent">
      <MemberSignature Language="C#" Value="protected bool NeedIndent { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'bool'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
