ConsoleTraceListener Třída

Definice

Směruje výstup trasování či ladění buď na standardní výstup, nebo na standardní chybový výstup.

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
Dědičnost

Příklady

Následující příklad kódu implementuje konzolovou aplikaci skládající se z třídy se dvěma veřejnými metodami.

Metoda Main prozkoumá argumenty příkazového řádku a určí, jestli má být výstup trasování směrován do standardního chybového streamu nebo standardního výstupního datového proudu. Main vytvoří a inicializuje ConsoleTraceListener objekt pro zadaný Console výstupní datový proud a přidá tento objekt do kolekce naslouchacího procesu trasování. Potom zavolá metodu WriteEnvironmentInfoToTrace , která zapíše podrobnosti o prováděcím prostředí a konfiguraci naslouchacího procesu trasování do výstupu trasování.

Při spuštění ukázkové aplikace se podrobnosti konfigurace prostředí a trasování zapisují do zadaného výstupního datového proudu konzoly prostřednictvím objektu ConsoleTraceListener .

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

Poznámky

ConsoleTraceListener Pomocí třídy můžete psát zprávy trasování a ladění do konzoly. Objekt můžete inicializovat ConsoleTraceListener pro zápis trasovacích zpráv do datového Console.Out proudu nebo do datového Console.Error proudu.

Important

Tento typ implementuje rozhraní IDisposable. Jakmile skončíte s používáním typu, měli byste ho odstranit buď přímo, nebo nepřímo. Chcete-li odstranit typ přímo, zavolejte jeho Dispose metodutry/catch v bloku. Pokud ho chcete zlikvidovat nepřímo, použijte konstruktor jazyka, jako je using (v jazyce C#) nebo Using (v jazyce Visual Basic). Další informace naleznete v části Použití objektu, který implementuje IDisposable v IDisposable tématu rozhraní.

Pokud je povolen výstup trasování a ladění, ConsoleTraceListener zprávy se zapisují do zadaného System.Console datového proudu, což se podobá způsobu, jakým se zprávy zapisují pomocí Console.Write nebo Console.WriteLine metod. V konzolové aplikaci System.Console zapisují výstupy a chybové proudy zprávy do existujícího okna konzoly nebo streamy můžete přesměrovat na zápis do System.IO.TextWriter instance.

Note

Pokud konzola neexistuje, jako v aplikaci založené na Windows, zprávy zapsané do konzoly se nezobrazí.

ConsoleTraceListener Přidejte objekt do příslušné Listeners kolekce, pokud chcete zprávy napsané prostřednictvím Trace, TraceSourcenebo Debug být zapsány do konzoly. Kromě toho můžete zprávy psát přímo do konzoly Trace.Write pomocí metod nebo Trace.WriteLine metod.

Note

Třídy Debug sdílejí stejnou Trace kolekci, ke které se přistupuje prostřednictvím příslušných TraceListenerCollectionListeners vlastností. Pokud do kolekce přidáte ConsoleTraceListener objekt pomocí jedné z těchto tříd, druhá třída automaticky použije stejný naslouchací proces.

Většina kompilátorů umožňuje trasování a ladění výstupu prostřednictvím příznaků podmíněné kompilace. Pokud nepovolíte trasování nebo ladění, zprávy napsané prostřednictvím System.Diagnostics.Debug tříd System.Diagnostics.Trace jsou účinně ignorovány. Syntaxe pro povolení trasování a ladění výstupu je specifická pro kompilátor; Pokud používáte jiné kompilátory než C# nebo Visual Basic, projděte si dokumentaci pro váš kompilátor.

  • Pokud chcete povolit ladění v jazyce C#, přidejte příznak /d:DEBUGdo příkazového řádku kompilátoru při kompilaci kódu nebo můžete přidat #define DEBUG do horní části souboru. V Visual Basic přidejte příznak /d:DEBUG=True do příkazového řádku kompilátoru.

  • Pokud chcete povolit trasování v jazyce C#, přidejte příznak /d:TRACE do příkazového řádku kompilátoru při kompilaci kódu nebo do horní části souboru přidejte #define TRACE . Do Visual Basic přidejte příznak /d:TRACE=True do příkazového řádku kompilátoru.

Do kolekce v kódu můžete přidat ConsoleTraceListener objekt Listeners . Nebo pro aplikace .NET Framework můžete přidat objekt ConsoleTraceListener do kolekce Listeners prostřednictvím konfiguračního souboru aplikace. ConsoleTraceListener Přidejte objekt do kódu pro zápis zpráv pro konkrétní část kódu nebo cestu spuštění. Přidejte objekt do konfiguračního ConsoleTraceListener souboru aplikace, který bude směrovat všechny zprávy trasování a ladění do konzoly, zatímco se aplikace spustí.

Pokud chcete napsat trasování a ladění zpráv do konzoly pro konkrétní část kódu, inicializujete ConsoleTraceListener objekt a přidáte ho Listeners do kolekce. Instrumentace oddílu kódu, který obsahuje zprávy pomocí Trace třídy.Debug Na konci oddílu kódu odeberte ConsoleTraceListener objekt z Listeners kolekce a zavolejte Close metodu na .ConsoleTraceListener

Pro aplikace .NET Framework, aby se všechny trasovací a ladicí zprávy nasměrovály do konzoly, zatímco se aplikace spustí, přidejte do konfiguračního souboru aplikace objekt ConsoleTraceListener. Následující příklad přidá objekt pojmenovaný ConsoleTraceListenerconfigConsoleListener do Listeners kolekce.

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

Podrobnosti o přidání naslouchacích procesů trasování v konfiguračním souboru aplikace najdete v tématu <naslouchací procesy>.

Konstruktory

Name Description
ConsoleTraceListener()

Inicializuje novou instanci ConsoleTraceListener třídy s výstupem trasování zapsaným do standardního výstupního datového proudu.

ConsoleTraceListener(Boolean)

Inicializuje novou instanci ConsoleTraceListener třídy s možností zápisu výstupu trasování do standardního výstupního datového proudu nebo standardního chybového proudu.

Vlastnosti

Name Description
Attributes

Získá vlastní atributy naslouchacího procesu trasování definované v konfiguračním souboru aplikace.

(Zděděno od TraceListener)
Filter

Získá nebo nastaví filtr trasování pro naslouchací proces trasování.

(Zděděno od TraceListener)
IndentLevel

Získá nebo nastaví úroveň odsazení.

(Zděděno od TraceListener)
IndentSize

Získá nebo nastaví počet mezer v odsazení.

(Zděděno od TraceListener)
IsThreadSafe

Získá hodnotu označující, zda je naslouchací proces trasování bezpečný podproces.

(Zděděno od TraceListener)
Name

Získá nebo nastaví název pro tento TraceListener.

(Zděděno od TraceListener)
NeedIndent

Získá nebo nastaví hodnotu označující, zda se má výstup odsadit.

(Zděděno od TraceListener)
TraceOutputOptions

Získá nebo nastaví možnosti výstupu trasování.

(Zděděno od TraceListener)
Writer

Získá nebo nastaví zapisovač textu, který přijímá trasování nebo ladění výstupu.

(Zděděno od TextWriterTraceListener)

Metody

Name Description
Close()

Zavře výstup do datového proudu určeného pro tento naslouchací proces trasování.

Close()

Writer Zavře tak, aby přestal přijímat výstup trasování nebo ladění.

(Zděděno od TextWriterTraceListener)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané nástrojem TraceListener.

(Zděděno od TraceListener)
Dispose(Boolean)

Odstraní tento TextWriterTraceListener objekt.

(Zděděno od TextWriterTraceListener)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Fail(String, String)

Vygeneruje chybovou zprávu a podrobnou chybovou zprávu naslouchacímu procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Fail(String)

Vygeneruje chybovou zprávu naslouchacímu procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Flush()

Vyprázdní výstupní vyrovnávací paměť pro Writer.

(Zděděno od TextWriterTraceListener)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetSupportedAttributes()

Získá vlastní atributy podporované naslouchacím procesem trasování.

(Zděděno od TraceListener)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Zapisuje informace o trasování, datový objekt a informace o událostech do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Zapisuje informace o trasování, pole datových objektů a informace o událostech do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Zapisuje informace o trasování, formátované pole objektů a informace o událostech do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Zapíše informace o trasování, zprávu a informace o události do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Zapíše informace o trasování a událostech do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Zapisuje informace o trasování, zprávu, související identitu aktivity a informace o událostech do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
Write(Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Write(Object)

Zapíše hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Write(String, String)

Zapíše název kategorie a zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Write(String)

Zapíše zprávu do této instance Writer.

(Zděděno od TextWriterTraceListener)
WriteIndent()

Zapíše odsazení do naslouchacího procesu, který vytvoříte při implementaci této třídy, a resetuje NeedIndent vlastnost na false.

(Zděděno od TraceListener)
WriteLine(Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím znakem řádku.

(Zděděno od TraceListener)
WriteLine(Object)

Zapíše hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následované ukončovacím řádkem.

(Zděděno od TraceListener)
WriteLine(String, String)

Zapíše název kategorie a zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím řádkem.

(Zděděno od TraceListener)
WriteLine(String)

Zapíše zprávu do koncového řádku této instance Writer . Výchozí ukončovací znak řádku je návrat na začátek řádku následovaný podáváním (\r\n).

(Zděděno od TextWriterTraceListener)

Platí pro

Viz také