Condividi tramite


ConsoleTraceListener Classe

Definizione

Viene indirizzato l'output di tracciatura e debug per l'output standard o il flusso di errore standard.

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

Esempio

Nell'esempio di codice seguente viene implementata un'applicazione console costituita da una classe con due metodi pubblici.

Il Main metodo esamina gli argomenti della riga di comando e determina se l'output della traccia deve essere indirizzato al flusso di errori standard o al flusso di output standard. Main crea e inizializza un ConsoleTraceListener oggetto per il flusso di output specificato Console e aggiunge questo oggetto all'insieme listener di traccia. Chiama quindi il WriteEnvironmentInfoToTrace metodo, che scrive i dettagli sull'ambiente in esecuzione e sulla configurazione del listener di traccia nell'output di traccia.

Quando l'applicazione di esempio viene eseguita, i dettagli di configurazione dell'ambiente e della traccia vengono scritti nel flusso di output della console specificato tramite l'oggetto 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

Commenti

Usare la ConsoleTraceListener classe per scrivere messaggi di traccia e debug nella console. È possibile inizializzare un ConsoleTraceListener oggetto per scrivere messaggi di traccia nel Console.Out flusso o nel Console.Error flusso.

Importante

Il tipo implementa l'interfaccia IDisposable. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il Dispose relativo metodo in untry/catch blocco. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic. Per altre informazioni, vedere la sezione "Uso di un oggetto che implementa IDisposable" nell'argomento relativo all'interfaccia IDisposable.

Quando l'output di traccia e debug è abilitato, i messaggi vengono scritti nel flusso specificatoSystem.Console, simile al modo in cui i ConsoleTraceListener messaggi vengono scritti con i Console.Write metodi oConsole.WriteLine. In un'applicazione console, l'output System.Console e i flussi di errore scrivono messaggi nella finestra della console esistente oppure è possibile reindirizzare i flussi per scrivere in un'istanza System.IO.TextWriter .

Nota

Se la console non esiste, come in un'applicazione basata su Windows, i messaggi scritti nella console non vengono visualizzati.

Aggiungere un ConsoleTraceListener oggetto alla raccolta appropriata Listeners se si desidera che i messaggi scritti tramite Trace, TraceSourceo Debug vengano scritti nella console. È inoltre possibile scrivere messaggi direttamente nella console usando i Trace.Write metodi o Trace.WriteLine .

Nota

Le Debug classi e Trace condividono la stessa TraceListenerCollection raccolta, accessibili tramite le rispettive Listeners proprietà. Se si aggiunge un ConsoleTraceListener oggetto alla raccolta usando una di queste classi, l'altra classe usa automaticamente lo stesso listener.

La maggior parte dei compilatori abilita l'output di traccia e debug tramite flag di compilazione condizionale. Se non si abilita la traccia o il debug, i messaggi scritti tramite le System.Diagnostics.Debug classi e System.Diagnostics.Trace vengono ignorati in modo efficace. La sintassi per abilitare l'output di traccia e debug è specifica del compilatore; se si usano compilatori diversi da C# o Visual Basic, vedere la documentazione del compilatore.

  • Per abilitare il debug in C#, aggiungere il flag /d:DEBUGalla riga di comando del compilatore quando si compila il codice oppure è possibile aggiungere #define DEBUG all'inizio del file. In Visual Basic aggiungere il flag /d:DEBUG=True alla riga di comando del compilatore.

  • Per abilitare la traccia in C#, aggiungere il flag /d:TRACE alla riga di comando del compilatore quando si compila il codice oppure aggiungere #define TRACE all'inizio del file. In Visual Basic aggiungere il flag /d:TRACE=True alla riga di comando del compilatore.

È possibile aggiungere un ConsoleTraceListener oggetto all'insieme Listeners nel codice. In alternativa, per le app .NET Framework è possibile aggiungere un ConsoleTraceListener oggetto alla raccolta tramite il file di configurazione dell'applicazione Listeners . Aggiungere l'oggetto ConsoleTraceListener nel codice per scrivere messaggi per una sezione di codice o un percorso di esecuzione specifico. Aggiungere l'oggetto ConsoleTraceListener nel file di configurazione dell'applicazione per indirizzare tutti i messaggi di traccia e debug alla console mentre l'applicazione viene eseguita.

Per scrivere messaggi di traccia e debug nella console per una sezione specifica di codice, inizializzare un ConsoleTraceListener oggetto e aggiungerlo alla Listeners raccolta. Instrumentare la sezione del codice che contiene messaggi usando le Trace classi o Debug . Alla fine della sezione del codice rimuovere l'oggetto dall'insieme Listeners e chiamare il ConsoleTraceListenerClose metodo su ConsoleTraceListener.

Per le app .NET Framework, per indirizzare tutti i messaggi di traccia e debug alla console durante l'esecuzione dell'applicazione, aggiungere un ConsoleTraceListener oggetto al file di configurazione dell'applicazione. Nell'esempio seguente viene aggiunto un ConsoleTraceListener oggetto denominato configConsoleListener all'insieme Listeners .

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

Per informazioni dettagliate sull'aggiunta di listener di traccia nel file di configurazione dell'applicazione, vedere <Listener>.

Costruttori

ConsoleTraceListener()

Inizializza una nuova istanza della classe ConsoleTraceListener con l'output di traccia scritto nel flusso di output standard.

ConsoleTraceListener(Boolean)

Inizializza una nuova istanza della classe ConsoleTraceListener con un'opzione per la scrittura dell'output di traccia nel flusso di output standard o nel flusso di errore standard.

Proprietà

Attributes

Ottiene gli attributi personalizzati del listener di traccia definiti nel file di configurazione dell'applicazione.

(Ereditato da TraceListener)
Filter

Ottiene o imposta il filtro di traccia per il listener di traccia.

(Ereditato da TraceListener)
IndentLevel

Ottiene o imposta il livello di rientro.

(Ereditato da TraceListener)
IndentSize

Ottiene o imposta il numero di spazi in un rientro.

(Ereditato da TraceListener)
IsThreadSafe

Ottiene un valore che indica se il listener di traccia è thread-safe.

(Ereditato da TraceListener)
Name

Ottiene o imposta un nome per l'oggetto TraceListener.

(Ereditato da TraceListener)
NeedIndent

Ottiene o imposta un valore che indica se impostare il rientro dell'output.

(Ereditato da TraceListener)
TraceOutputOptions

Ottiene o imposta le opzioni dell'output di traccia.

(Ereditato da TraceListener)
Writer

Ottiene o imposta il writer di testo che riceve l'output di tracciatura o di debug.

(Ereditato da TextWriterTraceListener)

Metodi

Close()

Chiude l'output al flusso specificato per questo listener di traccia.

Close()

Chiude la classe Writer in modo che non riceva più output di tracciatura o di debug.

(Ereditato da TextWriterTraceListener)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da TraceListener.

(Ereditato da TraceListener)
Dispose(Boolean)

Elimina questo oggetto TextWriterTraceListener.

(Ereditato da TextWriterTraceListener)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Fail(String)

Genera un messaggio di errore nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Fail(String, String)

Genera un messaggio di errore e un messaggio di errore dettagliato nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Flush()

Scarica il buffer di output per la classe Writer.

(Ereditato da TextWriterTraceListener)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetSupportedAttributes()

Ottiene gli attributi personalizzati supportati dal listener di traccia.

(Ereditato da TraceListener)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Scrive le informazioni di traccia, un oggetto dati e le informazioni di evento nell'output specifico del listener.

(Ereditato da TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Scrive le informazioni di traccia, una matrice di oggetti dati e le informazioni di evento nell'output specifico del listener.

(Ereditato da TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Scrive le informazioni di traccia e di evento nell'output specifico del listener.

(Ereditato da TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Scrive le informazioni di traccia, un messaggio e le informazioni di evento nell'output specifico del listener.

(Ereditato da TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Scrive le informazioni di traccia, una matrice di oggetti formattata e le informazioni di evento nell'output specifico del listener.

(Ereditato da TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Scrive le informazioni di traccia, un messaggio, l'identità di un'attività correlata e le informazioni di evento nell'output specifico del listener.

(Ereditato da TraceListener)
Write(Object)

Scrive il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Write(Object, String)

Scrive un nome di categoria e il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Write(String)

Scrive un messaggio nella classe Writer di questa istanza.

(Ereditato da TextWriterTraceListener)
Write(String, String)

Scrive un nome di categoria e un messaggio nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
WriteIndent()

Inserisce il rientro nel listener creato quando si implementa questa classe e reimposta la proprietà NeedIndent su false.

(Ereditato da TraceListener)
WriteLine(Object)

Scrive il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener, seguito da un terminatore di riga.

(Ereditato da TraceListener)
WriteLine(Object, String)

Scrive un nome di categoria e il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener, seguito da un terminatore di riga.

(Ereditato da TraceListener)
WriteLine(String)

Scrive un messaggio nella classe Writer di questa istanza, seguito da un terminatore di riga. Il terminatore di riga predefinito è un ritorno a capo seguito da un avanzamento riga (\r\n).

(Ereditato da TextWriterTraceListener)
WriteLine(String, String)

Scrive un nome di categoria e un messaggio nel listener creato durante l'implementazione della classe TraceListener, seguiti da un terminatore di riga.

(Ereditato da TraceListener)

Si applica a

Vedi anche