Freigeben über


TextWriterTraceListener-Klasse

Leitet die Ablaufverfolgungs- oder Debugausgabe an einen TextWriter oder Stream, z. B. FileStream.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

Syntax

'Declaration
Public Class TextWriterTraceListener
    Inherits TraceListener
'Usage
Dim instance As TextWriterTraceListener
public class TextWriterTraceListener : TraceListener
public ref class TextWriterTraceListener : public TraceListener
public class TextWriterTraceListener extends TraceListener
public class TextWriterTraceListener extends TraceListener

Hinweise

Hinweis

Das auf diese Klasse angewendete HostProtectionAttribute-Attribut besitzt den Resources-Eigenschaftenwert Synchronization. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder eines URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

Die TextWriterTraceListener-Klasse stellt die Writer-Eigenschaft bereit, mit der der Textwriter, in den die Ablaufverfolgungs- oder Debugausgabe erfolgt, abgerufen oder festgelegt wird.

Diese Klasse stellt außerdem Methoden für Close von Writer bereit, sodass dieser die Ablaufverfolgungs- oder Debugausgabe nicht mehr empfängt. Außerdem wird Flush für den Ausgabepuffer von Writer und Write für Meldungen an Writer bereitgestellt.

Sie müssen die Ablaufverfolgung oder das Debuggen aktivieren, um eine Ablaufverfolgungsüberwachung zu verwenden. Die folgende Syntax ist compilerspezifisch. Wenn Sie einen anderen Compiler als C# oder Visual Basic verwenden, finden Sie entsprechende Informationen in der Dokumentation zum Compiler.

  • Wenn Sie das Debuggen in C# aktivieren möchten, fügen Sie in der Compilerbefehlszeile beim Kompilieren des Codes das /d:DEBUG-Flag hinzu, oder fügen Sie #define DEBUG am Anfang der Datei ein. Fügen Sie in Visual Basic in der Compilerbefehlszeile das /d:DEBUG=True-Flag hinzu.

  • Wenn Sie die Verwendung der Ablaufverfolgung in C# aktivieren möchten, fügen Sie in der Compilerbefehlszeile beim Kompilieren des Codes das /d:TRACE-Flag hinzu, oder fügen Sie #define TRACE am Anfang der Datei ein. Fügen Sie in Visual Basic in der Compilerbefehlszeile das /d:TRACE=True-Flag hinzu.

Um eine Ablaufverfolgungsüberwachung hinzuzufügen, bearbeiten Sie die Konfigurationsdatei, die dem Namen der Anwendung entspricht. In dieser Datei können Sie einen Listener hinzufügen und dessen Typ und Parameter festlegen, einen Listener entfernen oder alle Listener löschen, die zuvor durch die Anwendung festgelegt wurden. Die Konfigurationsdatei sollte wie im folgenden Beispiel formatiert werden.

<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>

Hinweis

Wenn versucht wird, in eine Datei zu schreiben, die bereits verwendet wird oder die nicht verfügbar ist, wird dem Dateinamen automatisch eine GUID vorangestellt.

Thema Position
Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Beispiel wird eine Instanz der TextWriterTraceListener-Klasse implementiert, die einen StreamWriter mit der Bezeichnung myOutputWriter verwendet, um in die Datei TestFile.txt zu schreiben. Im Beispiel wird zunächst eine Datei für Ausgaben erstellt. Anschließend wird der StreamWriter für den ersten Textwriter erstellt, der Ausgabedatei zugeordnet und den Listeners hinzugefügt. Im Code wird dann eine Textzeile in die Datei ausgegeben. Schließlich wird im Beispiel der Ausgabepuffer geleert.

Nach dem Ausführen des Beispiels können Sie die Datei TestFile.txt öffnen und die Ausgaben überprüfen.

Public Class Sample
    
    Public Shared Sub Main()
        ' Create a file for output named TestFile.txt.
        Dim myFile As Stream = File.Create("TestFile.txt")
        
        ' Create a new text writer using the output stream, and add it to
        ' the trace listeners. 
        Dim myTextListener As New TextWriterTraceListener(myFile)
        Trace.Listeners.Add(myTextListener)

        
        ' Write output to the file.
        Trace.Write("Test output ")
        
        ' Flush the output.
        Trace.Flush() 

        System.Environment.ExitCode = 0
    End Sub

End Class
public class Sample
{

public static int Main(string[] args) {
    // Create a file for output named TestFile.txt.
    Stream myFile = File.Create("TestFile.txt");
 
    /* Create a new text writer using the output stream, and add it to
     * the trace listeners. */
    TextWriterTraceListener myTextListener = new 
       TextWriterTraceListener(myFile);
    Trace.Listeners.Add(myTextListener);
 
    // Write output to the file.
    Trace.Write("Test output ");
 

    // Flush the output.
    Trace.Flush(); 

    return 0;
 }

}
int main()
{
   
   // Create a file for output named TestFile.txt.
   Stream^ myFile = File::Create( "TestFile.txt" );
   
   /* Create a new text writer using the output stream, and add it to
        * the trace listeners. */
   TextWriterTraceListener^ myTextListener = gcnew TextWriterTraceListener( myFile );
   Trace::Listeners->Add( myTextListener );
   
  
   // Write output to the file.
   Trace::Write( "Test output " );
   
  
   // Flush the output.
   Trace::Flush();
   return 0;
}
public class Sample
{
    public static void main(String[] args)
    {
        // Create a file for output named TestFile.txt.
        Stream myFile = File.Create("TestFile.txt");

        /* Create a new text writer using the output stream, and add it to
         * the trace listeners.
         */
        TextWriterTraceListener myTextListener = 
            new TextWriterTraceListener(myFile);
        Trace.get_Listeners().Add(myTextListener);

        // Write output to the file.
        Trace.Write("Test output ");

        // Flush the output.
        Trace.Flush();
        return;
    } //main
} //Sample 

Vererbungshierarchie

System.Object
   System.MarshalByRefObject
     System.Diagnostics.TraceListener
      System.Diagnostics.TextWriterTraceListener
         System.Diagnostics.ConsoleTraceListener
         System.Diagnostics.DelimitedListTraceListener
         System.Diagnostics.XmlWriterTraceListener

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

TextWriterTraceListener-Member
System.Diagnostics-Namespace
TraceListener
DefaultTraceListener-Klasse
ConsoleTraceListener-Klasse
EventLogTraceListener-Klasse
Stream
TextWriter
Debug-Klasse
Trace