Freigeben über


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

Fügt der Sammlung Listeners einen Listener hinzu.

<configuration>
  <system.diagnostics>
    <trace>
      <listeners>
        <add>

Syntax

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete 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 vollqualifizierter Typnamen angegebenen Anforderungen erfüllt.
initializeData Optionales Attribut.

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

Gibt den Namen des Listeners an.

Untergeordnete Elemente

Element BESCHREIBUNG
<filter> Fügt einen Filter zu einem Listener in der Listeners-Sammlung für eine Ablaufverfolgung hinzu.

Übergeordnete Elemente

Element BESCHREIBUNG
configuration Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.
listeners Gibt einen Listener an, der Nachrichten sammelt, speichert und weiterleitet. Listener leiten die Ablaufverfolgungsausgabe an ein geeignetes Ziel weiter.
system.diagnostics Gibt das Stammelement für den ASP.NET-Konfigurationsabschnitt an.
trace Enthält Listener, die Ablaufverfolgungsmeldungen sammeln, speichern und weiterleiten.

Bemerkungen

Die Klassen Debug und Trace verwenden dieselbe Listenersammlung. Wenn Sie der Sammlung in einer dieser Klassen ein Listenerobjekt hinzufügen, verwendet die andere Klasse denselben Listener. Die Listenerklassen werden von der TraceListener abgeleitet.

Wenn Sie das name-Attribut des Ablaufverfolgungslisteners nicht angeben, wird die Name des Ablaufverfolgungslisteners standardmäßig auf eine leere Zeichenfolge („“) festgelegt. Wenn Ihre Anwendung nur über einen Listener verfügt, können Sie ihn hinzufügen, ohne einen Namen anzugeben, und Sie können ihn entfernen, indem Sie eine leere Zeichenfolge als Namen angeben. Wenn Ihre Anwendung jedoch über mehr als einen Listener verfügt, sollten Sie eindeutige Namen für jeden Ablaufverfolgungslistener angeben, was es Ihnen erlaubt, einzelne Ablaufverfolgungslistener in den Listeners- und Listeners-Sammlungen zu identifizieren und zu verwalten.

Hinweis

Das Hinzufügen von mehr als einem Ablaufverfolgungslistener desselben Typs und mit demselben Namen führt dazu, dass der Listeners-Auflistung nur ein Ablaufverfolgungslistener dieses Typs und Namens hinzugefügt wird. Sie können der Listeners-Auflistung jedoch programmgesteuert mehrere identische Listener hinzufügen.

Der Wert für das initializeData-Attribut hängt vom Typ des Listeners ab, den Sie erstellen. Nicht alle Ablaufverfolgungslistener erfordern, dass Sie initializeData angeben.

Hinweis

Wenn Sie das initializeData-Attribut verwenden, wird möglicherweise die Compilerwarnung „Das Attribut ‚initializeData‘ ist nicht deklariert.“ angezeigt. Diese Warnung tritt auf, weil die Konfigurationseinstellungen gegen die abstrakte 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 verfügen, der einen Parameter akzeptiert.

Die folgende Tabelle zeigt die Ablaufverfolgungslistener, die im .NET Framework enthalten sind, und beschreibt den Wert ihrer initializeData-Attribute.

Ablaufverfolgungslistener-Klasse initializeData-Attributwert
System.Diagnostics.ConsoleTraceListener Der useErrorStream-Wert für den ConsoleTraceListener-Konstruktor. Legen Sie das Attribut initializeData auf „true“ fest, um die Ablaufverfolgungs- und Debugausgabe auf Console.Error zu schreiben, und lege „false“ fest, um auf Console.Out zu schreiben.
System.Diagnostics.DelimitedListTraceListener Der Name der Datei, in die der DelimitedListTraceListener schreibt.
System.Diagnostics.EventLogTraceListener Der Name des Namens einer vorhandenen Ereignisprotokollquelle.
System.Diagnostics.EventSchemaTraceListener Der Name der Datei, in die der EventSchemaTraceListener schreibt.
System.Diagnostics.TextWriterTraceListener Der Name der Datei, in die der TextWriterTraceListener schreibt.
System.Diagnostics.XmlWriterTraceListener Der Name der Datei, in die der XmlWriterTraceListener schreibt.

Beispiel

Im folgenden Beispiel wird gezeigt, wie Sie <add>-Elemente verwenden, um die Listener MyListener und MyEventListener der Listeners-Sammlung hinzuzufügen. MyListener erstellt eine Datei namens MyListener.log und schreibt die Ausgabe in die Datei. MyEventListener schreibt einen Eintrag in das 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