Freigeben über


<add>-Element für <listeners> für <trace>

Aktualisiert: November 2007

Fügt der Listeners-Auflistung einen Listener hinzu.

<configuration>-Element
  <system.diagnostics>-Element
    <trace>-Element
      <listeners>-Element für <trace>
        <add>-Element für <listeners> für <trace>

<add name="name" 
     type="trace listener class name, Version, Culture, PublicKeyToken"
     initializeData="data"/>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.

Attribute

Attribut

Beschreibung

type

Erforderliches Attribut.

Gibt den Typ des Listeners an. Sie müssen eine Zeichenfolge verwenden, die die unter Angeben vollständig gekennzeichneter Typnamen aufgeführten Anforderungen erfüllt.

initializeData

Optionales Attribut.

Die für die angegebene Klasse an den Konstruktor übergebene Zeichenfolge.

name

Optionales Attribut.

Gibt den Namen des Listeners an.

Untergeordnete Elemente

Keine.

Übergeordnete Elemente

Element

Beschreibung

configuration

Das Stammelement in jeder Konfigurationsdatei, das von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird.

listeners

Gibt einen Listener an, der Meldungen sammelt, speichert und weiterleitet. Listener leiten die Ablaufverfolgungsausgabe an ein entsprechendes Ziel.

system.diagnostics

Gibt das Stammelement für den ASP.NET-Konfigurationsabschnitt an.

trace

Enthält Listener, die Verfolgungsmeldungen sammeln, speichern und weiterleiten.

Hinweise

Die Debug- Klasse und die Trace-Klasse verwenden die gleiche Listeners-Auflistung. Wenn Sie der Auflistung in einer dieser Klassen ein Listener-Objekt hinzufügen, verwendet die andere Klasse denselben Listener. Die Listenerklassen werden von der TraceListener-Klasse abgeleitet.

Wenn Sie das name-Attribut des Ablaufverfolgungslisteners nicht angeben, entspricht der Name des Ablaufverfolgungslisteners standardmäßig einer leeren Zeichenfolge (""). Wenn die Anwendung über nur einen Listener verfügt, können Sie ihn ohne Angabe eines Namens hinzufügen und unter Angabe einer leeren Zeichenfolge für den Namen entfernen. Wenn die Anwendung hingegen mehrere Listener aufweist, sollten Sie für jeden Ablaufverfolgungslistener einen eindeutigen Namen angeben, sodass die einzelnen Ablaufverfolgungslistener in der Listeners-Auflistung und der Listeners-Auflistung identifiziert und verwaltet werden können.

Tipp

Wenn Sie mehrere Ablaufverfolgungslistener mit dem gleichen Typ und Namen hinzufügen, wird der Listeners-Auflistung nur ein einziger Ablaufverfolgungslistener dieses Typs und Namens hinzugefügt. Sie können der Listeners-Auflistung jedoch programmgesteuert mehrere identische Listener hinzufügen.

Der Wert des initializeData-Attributs hängt von der Art des Listeners ab, den Sie erstellen. initializeData muss nicht für alle Ablaufverfolgungslistener angegeben werden.

Tipp

Wenn Sie das initializeData-Attribut verwenden, wird möglicherweise die Compilerwarnung "Das Attribut "initializeData" ist nicht deklariert" angezeigt. Diese Warnung wird angezeigt, da die Konfigurationseinstellungen anhand der abstrakten Basisklasse TraceListener überprüft werden, die das initializeData-Attribut nicht erkennt. In der Regel können Sie diese Warnung für Implementierungen von Ablaufverfolgungslistenern ignorieren, die über einen Konstruktor mit einem Parameter verfügen.

In der folgenden Tabelle werden die im Lieferumfang von .NET Framework enthaltenen Ablaufverfolgungslistener aufgeführt und die Werte der zugehörigen initializeData-Attribute erläutert.

Ablaufverfolgungslistener-Klasse

initializeData-Attributwert

System.Diagnostics.ConsoleTraceListener

Der useErrorStream-Wert für den ConsoleTraceListener-Konstruktor. Legen Sie das initializeData-Attribut auf "true" fest, damit Ablaufverfolgungs- und Debugausgabe in Console.Error geschrieben werden. Wenn Sie es auf "false" festlegen, erfolgt die Ausgabe in Console.Out.

System.Diagnostics.DelimitedListTraceListener

Der Name der Datei, in die der DelimitedListTraceListener schreibt.

System.Diagnostics.EventLogTraceListener

Der Name einer vorhandenen Ereignisprotokollquelle.

System.Diagnostics.EventSchemaTraceListener

Der Name der Datei, in die von EventSchemaTraceListener geschrieben wird.

System.Diagnostics.TextWriterTraceListener

Der Name der Datei, in die von TextWriterTraceListener geschrieben wird.

System.Diagnostics.XmlWriterTraceListener

Der Name der Datei, in die von XmlWriterTraceListener geschrieben wird.

Beispiel

Im folgenden Beispiel wird gezeigt, wie <add>-Elemente verwendet werden, um der Listeners-Auflistung die Listener MyListener und MyEventListener hinzuzufügen. MyListener erstellt eine Datei mit der Bezeichnung MyListener.log und schreibt die Ausgabe in die Datei. MyEventListener erstellt einen Eintrag im Ereignisprotokoll.

<configuration>
   <system.diagnostics>
      <trace 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" />
            <add name="MyEventListener"
                 type="System.Diagnostics.EventLogTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"                 initializeData="MyConfigEventLog"/>
            <add name="configConsoleListener"
                 type="System.Diagnostics.ConsoleTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
         </listeners>
      </trace>
   </system.diagnostics>
</configuration>

Siehe auch

Konzepte

Ablaufverfolgungslistener

Referenz

Schema für Ablaufverfolgungs- und Debugeinstellungen

Trace

Debug

EventLogTraceListener

ConsoleTraceListener

TextWriterTraceListener