ConsoleTraceListener Klass

Definition

Dirigerar spårnings- eller felsökningsutdata till antingen standardutdata eller standardfelströmmen.

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
Arv

Exempel

I följande kodexempel implementeras ett konsolprogram som består av en klass med två offentliga metoder.

Metoden Main undersöker kommandoradsargumenten och avgör om spårningsutdata ska dirigeras till standardfelströmmen eller standardutdataströmmen. Main skapar och initierar ett ConsoleTraceListener objekt för den angivna Console utdataströmmen och lägger till det här objektet i samlingen spårningslyssnare. Den anropar WriteEnvironmentInfoToTrace sedan metoden, som skriver information om körningsmiljön och spårningslyssnarens konfiguration till spårningsutdata.

När exempelprogrammet körs skrivs miljö- och spårningskonfigurationsinformationen till den angivna konsolens utdataström via ConsoleTraceListener objektet.

// Define the TRACE directive, which enables trace output to the
// Trace.Listeners collection. Typically, this directive is defined
// as a compilation argument.
#define TRACE
using System;
using System.Diagnostics;

public class ConsoleTraceSample
{

    // Define a simple method to write details about the current executing
    // environment to the trace listener collection.
    public static void WriteEnvironmentInfoToTrace()
    {

        string methodName = "WriteEnvironmentInfoToTrace";

        Trace.Indent();
        Trace.WriteLine(DateTime.Now.ToString() + " - Start of " + methodName);
        Trace.Indent();

        // Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " + System.Environment.OSVersion.ToString());
        Trace.WriteLine("Computer name: " + System.Environment.MachineName);
        Trace.WriteLine("User name: " + System.Environment.UserName);
        Trace.WriteLine("CLR runtime version: " + System.Environment.Version.ToString());
        Trace.WriteLine("Command line: " + System.Environment.CommandLine);

        // Enumerate the trace listener collection and
        // display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " + Trace.Listeners.Count.ToString());

        foreach (TraceListener tl in Trace.Listeners)
        {
            Trace.WriteLine("Trace listener name = " + tl.Name);
            Trace.WriteLine("               type = " + tl.GetType().ToString());
        }

        Trace.Unindent();
        Trace.WriteLine(DateTime.Now.ToString() + " - End of " + methodName);
        Trace.Unindent();
    }

    // Define the main entry point of this class.
    // The main method adds a console trace listener to the collection
    // of configured trace listeners, then writes details on the current
    // executing environment.
    public static void Main(string[] CmdArgs)
    {

        // Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - Start of Main");

        // Define a trace listener to direct trace output from this method
        // to the console.
        ConsoleTraceListener consoleTracer;

        // Check the command line arguments to determine which
        // console stream should be used for trace output.
        if ((CmdArgs.Length>0)&&(CmdArgs[0].ToString().ToLower().Equals("/stderr")))
            // Initialize the console trace listener to write
            // trace output to the standard error stream.
        {
            consoleTracer = new ConsoleTraceListener(true);
        }
        else
        {
            // Initialize the console trace listener to write
            // trace output to the standard output stream.
            consoleTracer = new ConsoleTraceListener();
        }
        // Set the name of the trace listener, which helps identify this
        // particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer";

        // Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Starting output to trace listener.");

        // Add the new console trace listener to
        // the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer);

        // Call a local method, which writes information about the current
        // execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace();

        // Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Ending output to trace listener.");

        // Flush any pending trace messages, remove the
        // console trace listener from the collection,
        // and close the console trace listener.
        Trace.Flush();
        Trace.Listeners.Remove(consoleTracer);
        consoleTracer.Close();

        // Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - End of Main");

        // Close all other configured trace listeners.
        Trace.Close();
    }
}
' Define the TRACE constant, which enables trace output to the 
' Trace.Listeners collection. Typically, this constant is defined
' as a compilation argument.
#Const TRACE = True

Imports System.Diagnostics

Public Class ConsoleTraceSample

    ' Define a simple method to write details about the current executing 
    ' environment to the trace listener collection.
    Public Shared Sub WriteEnvironmentInfoToTrace()

        Dim methodName As String = "WriteEnvironmentInfoToTrace"

        Trace.Indent()
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of " & methodName)
        Trace.Indent()

        ' Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " & _
            System.Environment.OSVersion.ToString())
        Trace.WriteLine("Computer name: " & System.Environment.MachineName)
        Trace.WriteLine("User name: " & System.Environment.UserName)
        Trace.WriteLine("CLR version: " & System.Environment.Version.ToString)
        Trace.WriteLine("Command line: " & System.Environment.CommandLine)

        ' Enumerate the trace listener collection and 
        ' display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " & _
            Trace.Listeners.Count.ToString())

        Dim tl As TraceListener
        For Each tl In Trace.Listeners
            Trace.WriteLine("Trace listener name = " & tl.Name)
            Trace.WriteLine("               type = " & tl.GetType().ToString())
        Next tl

        Trace.Unindent()
        Trace.WriteLine(DateTime.Now.ToString() & " - End of " & methodName)
        Trace.Unindent()

    End Sub

    ' Define the main entry point of this class.
    ' The main method adds a console trace listener to the collection
    ' of configured trace listeners, then writes details on the current
    ' executing environment.
    Public Shared Sub Main(ByVal CmdArgs() As String)

        ' Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of Main")

        ' Define a trace listener to direct trace output from this method
        ' to the console.
        Dim consoleTracer As ConsoleTraceListener

        ' Check the command line arguments to determine which
        ' console stream should be used for trace output.
        If (CmdArgs.Length > 0) AndAlso _
           (CmdArgs(0).ToLower.Equals("/stderr")) Then
            ' Initialize the console trace listener to write
            ' trace output to the standard error stream.
            consoleTracer = New ConsoleTraceListener(True)
        Else
            ' Initialize the console trace listener to write
            ' trace output to the standard output stream.
            consoleTracer = New ConsoleTraceListener
        End If
        ' Set the name of the trace listener, which helps identify this 
        ' particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer"

        ' Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
             consoleTracer.Name & "] - Starting output to trace listener.")

        ' Add the new console trace listener to 
        ' the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer)

        ' Call a local method, which writes information about the current 
        ' execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace()

        ' Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
            consoleTracer.Name & "] - Ending output to trace listener.")

        ' Flush any pending trace messages, remove the 
        ' console trace listener from the collection,
        ' and close the console trace listener.
        Trace.Flush()
        Trace.Listeners.Remove(consoleTracer)
        consoleTracer.Close()

        ' Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() + " - End of Main")

        ' Close all other configured trace listeners.
        Trace.Close()

    End Sub

End Class

Kommentarer

ConsoleTraceListener Använd klassen för att skriva spårnings- och felsökningsmeddelanden till konsolen. Du kan initiera ett ConsoleTraceListener objekt för att skriva spårningsmeddelanden till Console.Out strömmen eller till Console.Error strömmen.

Important

Den här typen implementerar IDisposable gränssnittet. När du har använt typen bör du kassera den på ett direkt eller indirekt sätt. Om du vill ta bort typen direkt anropar du dess Dispose metod i etttry/catch block. Om du vill ta bort det indirekt använder du en språkkonstruktion som using (i C#) eller Using (i Visual Basic). Mer information finns i avsnittet "Använda ett objekt som implementerar IDisposable" i IDisposable gränssnittet.

När spårning och felsökning av utdata är aktiverat ConsoleTraceListener skrivs meddelandena till den angivna System.Console strömmen, vilket liknar hur meddelanden skrivs med Console.Write metoderna eller Console.WriteLine . I ett konsolprogram System.Console skriver utdata- och felströmmarna meddelanden till det befintliga konsolfönstret, eller så kan du omdirigera strömmarna till att skriva till en System.IO.TextWriter instans.

Note

Om konsolen inte finns, som i ett Windows-baserat program, visas inte meddelanden som skrivits till konsolen.

Lägg till ett ConsoleTraceListener objekt i lämplig Listeners samling om du vill att meddelanden ska skrivas via Trace, TraceSourceeller Debug skrivas till konsolen. Dessutom kan du skriva meddelanden direkt till konsolen med hjälp av Trace.Write metoderna eller Trace.WriteLine .

Note

Klasserna Debug och delar samma Trace samling, som nås via respektive TraceListenerCollectionListeners egenskaper. Om du lägger till ett ConsoleTraceListener objekt i samlingen med någon av dessa klasser använder den andra klassen automatiskt samma lyssnare.

De flesta kompilatorer aktiverar spårning och felsökning av utdata via villkorliga kompileringsflaggor. Om du inte aktiverar spårning eller felsökning ignoreras meddelandena som skrivs via System.Diagnostics.Debug klasserna och System.Diagnostics.Trace i praktiken. Syntaxen för att aktivera spårnings- och felsökningsutdata är kompilatorspecifik. Om du använder andra kompilatorer än C# eller Visual Basic läser du dokumentationen för kompilatorn.

  • Om du vill aktivera felsökning i C#lägger du till flaggan /d:DEBUGpå kommandoraden för kompilatorn när du kompilerar koden, eller så kan du lägga till #define DEBUG överst i filen. I Visual Basic lägger du till flaggan /d:DEBUG=True på kommandoraden för kompilatorn.

  • Om du vill aktivera spårning i C# lägger du till flaggan /d:TRACE på kommandoraden för kompilatorn när du kompilerar koden eller lägger till #define TRACE överst i filen. I Visual Basic lägger du till flaggan /d:TRACE=True på kommandoraden för kompilatorn.

Du kan lägga till ett ConsoleTraceListener objekt i Listeners samlingen i koden. Eller för .NET Framework-appar kan du lägga till ett ConsoleTraceListener-objekt i samlingen Listeners via programkonfigurationsfilen. ConsoleTraceListener Lägg till objektet i koden för att skriva meddelanden för ett specifikt kodavsnitt eller en körningssökväg. ConsoleTraceListener Lägg till objektet i programkonfigurationsfilen för att dirigera alla spårnings- och felsökningsmeddelanden till konsolen medan programmet körs.

Om du vill skriva spårnings- och felsökningsmeddelanden till konsolen för ett visst kodavsnitt initierar du ett ConsoleTraceListener objekt och lägger till det i Listeners samlingen. Instrumentera det kodavsnitt som innehåller meddelanden med hjälp av klasserna Trace eller Debug . I slutet av kodavsnittet tar du bort ConsoleTraceListener objektet från Listeners samlingen och anropar Close metoden på ConsoleTraceListener.

För .NET Framework-appar lägger du till ett ConsoleTraceListener-objekt i programkonfigurationsfilen för att dirigera alla spårnings- och felsökningsmeddelanden till konsolen medan programmet körs. I följande exempel läggs ett ConsoleTraceListener objekt med namnet configConsoleListener till Listeners samlingen.

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="4">
      <listeners>
        <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
      </listeners>
    </trace>
  </system.diagnostics>
 </configuration>

Mer information om hur du lägger till spårningslyssnare i programkonfigurationsfilen <finns i lyssnare>.

Konstruktorer

Name Description
ConsoleTraceListener()

Initierar en ny instans av ConsoleTraceListener klassen med spårningsutdata skrivna till standardutdataströmmen.

ConsoleTraceListener(Boolean)

Initierar en ny instans av ConsoleTraceListener klassen med ett alternativ för att skriva spårningsutdata till standardutdataströmmen eller standardfelströmmen.

Egenskaper

Name Description
Attributes

Hämtar attributen för anpassad spårningslyssnare som definierats i programkonfigurationsfilen.

(Ärvd från TraceListener)
Filter

Hämtar eller anger spårningsfiltret för spårningslyssnaren.

(Ärvd från TraceListener)
IndentLevel

Hämtar eller anger indragsnivån.

(Ärvd från TraceListener)
IndentSize

Hämtar eller anger antalet blanksteg i ett indrag.

(Ärvd från TraceListener)
IsThreadSafe

Hämtar ett värde som anger om spårningslyssnaren är trådsäker.

(Ärvd från TraceListener)
Name

Hämtar eller anger ett namn för den här TraceListener.

(Ärvd från TraceListener)
NeedIndent

Hämtar eller anger ett värde som anger om utdata ska dras in.

(Ärvd från TraceListener)
TraceOutputOptions

Hämtar eller anger alternativen för spårningsutdata.

(Ärvd från TraceListener)
Writer

Hämtar eller anger den textskrivare som tar emot spårnings- eller felsökningsutdata.

(Ärvd från TextWriterTraceListener)

Metoder

Name Description
Close()

Stänger utdata till den dataström som angetts för den här spårningslyssnaren.

Close()

Writer Stänger så att den inte längre tar emot spårning eller felsökning av utdata.

(Ärvd från TextWriterTraceListener)
CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Släpper alla resurser som används av TraceListener.

(Ärvd från TraceListener)
Dispose(Boolean)

Bortser från det här TextWriterTraceListener objektet.

(Ärvd från TextWriterTraceListener)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Fail(String, String)

Genererar ett felmeddelande och ett detaljerat felmeddelande till lyssnaren som du skapar när du implementerar TraceListener klassen.

(Ärvd från TraceListener)
Fail(String)

Genererar ett felmeddelande till lyssnaren som du skapar när du implementerar TraceListener klassen.

(Ärvd från TraceListener)
Flush()

Tömer utdatabufferten Writerför .

(Ärvd från TextWriterTraceListener)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetSupportedAttributes()

Hämtar anpassade attribut som stöds av spårningslyssnaren.

(Ärvd från TraceListener)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Skriver spårningsinformation, ett dataobjekt och händelseinformation till lyssnarens specifika utdata.

(Ärvd från TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Skriver spårningsinformation, en matris med dataobjekt och händelseinformation till lyssnarens specifika utdata.

(Ärvd från TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Skriver spårningsinformation, en formaterad matris med objekt och händelseinformation till lyssnarens specifika utdata.

(Ärvd från TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Skriver spårningsinformation, ett meddelande och händelseinformation till lyssnarens specifika utdata.

(Ärvd från TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Skriver spårnings- och händelseinformation till lyssnarens specifika utdata.

(Ärvd från TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Skriver spårningsinformation, ett meddelande, en relaterad aktivitetsidentitet och händelseinformation till lyssnarens specifika utdata.

(Ärvd från TraceListener)
Write(Object, String)

Skriver ett kategorinamn och värdet för objektets ToString() metod till lyssnaren som du skapar när du implementerar TraceListener klassen.

(Ärvd från TraceListener)
Write(Object)

Skriver värdet för objektets ToString() -metod till lyssnaren som du skapar när du implementerar TraceListener klassen.

(Ärvd från TraceListener)
Write(String, String)

Skriver ett kategorinamn och ett meddelande till lyssnaren som du skapar när du implementerar TraceListener klassen.

(Ärvd från TraceListener)
Write(String)

Skriver ett meddelande till den här instansens Writer.

(Ärvd från TextWriterTraceListener)
WriteIndent()

Skriver indraget till lyssnaren som du skapar när du implementerar den här klassen och återställer NeedIndent egenskapen till false.

(Ärvd från TraceListener)
WriteLine(Object, String)

Skriver ett kategorinamn och värdet för objektets ToString() metod till lyssnaren som du skapar när du implementerar TraceListener klassen, följt av en radavgränsare.

(Ärvd från TraceListener)
WriteLine(Object)

Skriver värdet för objektets ToString() -metod till lyssnaren du skapar när du implementerar TraceListener klassen, följt av en radavslutare.

(Ärvd från TraceListener)
WriteLine(String, String)

Skriver ett kategorinamn och ett meddelande till lyssnaren som du skapar när du implementerar TraceListener klassen, följt av en radavgränsare.

(Ärvd från TraceListener)
WriteLine(String)

Skriver ett meddelande till den här instansen Writer följt av en radavgränsare. Standardlinjens avslutare är en vagnretur följt av en radmatning (\r\n).

(Ärvd från TextWriterTraceListener)

Gäller för

Se även