ConsoleTraceListener Classe

Definição

Direciona a saída de rastreio ou de depuração quer para a saída padrão quer para o fluxo de erro padrão.

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
Herança

Exemplos

O exemplo de código seguinte implementa uma aplicação de consola composta por uma classe com dois métodos públicos.

O Main método examina os argumentos da linha de comandos e determina se a saída do traço deve ser direcionada para o fluxo de erro padrão ou para o fluxo de saída padrão. Main cria e inicializa um ConsoleTraceListener objeto para o fluxo de saída especificado Console , e adiciona este objeto à coleção de ouvintes de traços. Depois, chama o WriteEnvironmentInfoToTrace método, que escreve detalhes sobre o ambiente em execução e a configuração do ouvinte do traço para a saída do traço.

Quando a aplicação de exemplo é executada, os detalhes do ambiente e da configuração do traço são escritos no fluxo de saída especificado da consola através do ConsoleTraceListener objeto.

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

Observações

Usa a ConsoleTraceListener classe para escrever mensagens de rastreio e depuração para a consola. Podes inicializar um ConsoleTraceListener objeto para escrever mensagens de rastreio para o Console.Out stream ou para o Console.Error stream.

Importante

Este tipo implementa a interface IDisposable. Quando terminar de usar o tipo, você deve eliminá-lo direta ou indiretamente. Para descartar diretamente o tipo, chama-se o seu Dispose método numtry/catch bloco. Para descartá-lo indiretamente, use uma construção de linguagem como using (em C#) ou Using (em Visual Basic). Para obter mais informações, consulte a seção "Usando um objeto que implementa IDisposable" no tópico da IDisposable interface.

Quando a saída de rastreamento e depuração está ativada, as ConsoleTraceListener mensagens são escritas no fluxo especificadoSystem.Console, o que é semelhante à forma como as mensagens são escritas com os Console.Write métodos ou.Console.WriteLine Numa aplicação de consola, os fluxos System.Console de saída e de erro escrevem mensagens para a janela existente da consola, ou pode redirecionar os fluxos para escrever numa System.IO.TextWriter instância.

Note

Se a consola não existir, como numa aplicação baseada no Windows, as mensagens escritas na consola não são exibidas.

Adicione um ConsoleTraceListener objeto à coleção apropriada Listeners se quiser que mensagens sejam escritas através de Trace, TraceSource, ou Debug que sejam escritas para a consola. Além disso, pode escrever mensagens diretamente para a consola usando os Trace.Write métodos ou.Trace.WriteLine

Note

As Debug classes e Trace partilham a mesma TraceListenerCollection coleção, acedida através das respetivas Listeners propriedades. Se adicionar um ConsoleTraceListener objeto à coleção usando uma destas classes, a outra classe usa automaticamente o mesmo ouvinte.

A maioria dos compiladores permite a saída de traço e depuração através de flags de compilação condicional. Se não ativares o rastreio ou a depuração, as mensagens escritas através das System.Diagnostics.Debug classes and System.Diagnostics.Trace são efetivamente ignoradas. A sintaxe para permitir a saída de traços e depuração é específica do compilador; se usar compiladores diferentes de C# ou Visual Basic, consulte a documentação do seu compilador.

  • Para permitir a depuração em C#, adicione a flag /d:DEBUGà linha de comandos do compilador quando compilar o seu código, ou pode adicionar #define DEBUG no topo do seu ficheiro. No Visual Basic, adicione a flag /d:DEBUG=True à linha de comandos do compilador.

  • Para permitir o traçado em C#, adicione a bandeira /d:TRACE à linha de comandos do compilador quando compilar o seu código, ou adicione #define TRACE no topo do seu ficheiro. No Visual Basic, adicione a flag /d:TRACE=True à linha de comandos do compilador.

Podes adicionar um ConsoleTraceListener objeto à Listeners coleção no teu código. Ou, para .NET aplicações Framework, podes adicionar um objeto ConsoleTraceListener à coleção Listeners através do ficheiro de configuração da aplicação. Adicione o ConsoleTraceListener objeto no seu código para escrever mensagens para uma secção de código específica ou caminho de execução. Adicione o ConsoleTraceListener objeto no ficheiro de configuração da sua aplicação para direcionar todas as mensagens de rastreio e depuração para a consola enquanto a aplicação é executada.

Para escrever mensagens de rastreio e depuração na consola para uma secção específica de código, inicialize um ConsoleTraceListener objeto e adicione-o à Listeners coleção. Instrumente a secção de código que contém mensagens usando as Trace classes ou Debug . No final da secção do código, remova o ConsoleTraceListener objeto da Listeners coleção e chame o Close método no ConsoleTraceListener.

Para .NET aplicações Framework, para direcionar todas as mensagens de rastreio e depuração para a consola enquanto a aplicação é executada, adicione um objeto ConsoleTraceListener ao ficheiro de configuração da aplicação. O exemplo seguinte acrescenta um ConsoleTraceListener objeto nomeado configConsoleListener à Listeners coleção.

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

Para detalhes sobre a adição de ouvintes de rastreamento no ficheiro de configuração da aplicação, consulte <ouvintes>.

Construtores

Name Description
ConsoleTraceListener()

Inicializa uma nova instância da ConsoleTraceListener classe com saída de traço gravada no fluxo de saída padrão.

ConsoleTraceListener(Boolean)

Inicializa uma nova instância da ConsoleTraceListener classe com a opção de escrever saída de traço para o fluxo de saída padrão ou para o fluxo de erro padrão.

Propriedades

Name Description
Attributes

Obtém os atributos personalizados do ouvinte de rastreio definidos no ficheiro de configuração da aplicação.

(Herdado de TraceListener)
Filter

Obtém ou define o filtro de traço para o ouvinte de traços.

(Herdado de TraceListener)
IndentLevel

Obtém ou define o nível da recuação.

(Herdado de TraceListener)
IndentSize

Obtém ou define o número de espaços num reentro.

(Herdado de TraceListener)
IsThreadSafe

Recebe um valor que indica se o ouvinte de rastreio é seguro para threads.

(Herdado de TraceListener)
Name

Obtém ou define um nome para este TraceListener.

(Herdado de TraceListener)
NeedIndent

Obtém ou define um valor que indica se deve indentar a saída.

(Herdado de TraceListener)
TraceOutputOptions

Obtém ou define as opções de saída do traço.

(Herdado de TraceListener)
Writer

Obtém ou define o escritor de texto que recebe o resultado de rastreio ou depuração.

(Herdado de TextWriterTraceListener)

Métodos

Name Description
Close()

Fecha a saída do fluxo especificado para este ouvinte de rastreamento.

Close()

Fecha o Writer para que já não receba saída de rastreamento ou depuração.

(Herdado de TextWriterTraceListener)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados pelo TraceListener.

(Herdado de TraceListener)
Dispose(Boolean)

Elimina este TextWriterTraceListener objeto.

(Herdado de TextWriterTraceListener)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Fail(String, String)

Emite uma mensagem de erro e uma mensagem de erro detalhada para o ouvinte que crias quando implementas a TraceListener classe.

(Herdado de TraceListener)
Fail(String)

Emite uma mensagem de erro para o ouvinte que crias quando implementas a TraceListener classe.

(Herdado de TraceListener)
Flush()

Limpa o buffer de saída para o Writer.

(Herdado de TextWriterTraceListener)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetSupportedAttributes()

Obtém os atributos personalizados suportados pelo ouvinte de rastreamento.

(Herdado de TraceListener)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Escreve informação de traço, um objeto de dados e informações de eventos para a saída específica do ouvinte.

(Herdado de TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Escreve informação de rastreio, um array de objetos de dados e informação de eventos para a saída específica do ouvinte.

(Herdado de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Escreve informação de rastreio, um array formatado de objetos e informações de eventos para a saída específica do ouvinte.

(Herdado de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Escreve informação de rastreio, uma mensagem e informações de eventos para a saída específica do ouvinte.

(Herdado de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Escreve informações de rastreio e evento para a saída específica do ouvinte.

(Herdado de TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Escreve informação de rastreio, uma mensagem, uma identidade de atividade relacionada e informações de eventos para a saída específica do ouvinte.

(Herdado de TraceListener)
Write(Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para o ouvinte que crias quando implementas a TraceListener classe.

(Herdado de TraceListener)
Write(Object)

Escreve o valor do método do objeto ToString() para o ouvinte que crias quando implementas a TraceListener classe.

(Herdado de TraceListener)
Write(String, String)

Escreve um nome de categoria e uma mensagem para o ouvinte que crias quando implementas a TraceListener classe.

(Herdado de TraceListener)
Write(String)

Escreve uma mensagem para o Writer.

(Herdado de TextWriterTraceListener)
WriteIndent()

Escreve o indentamento para o ouvinte que crias quando implementas esta classe, e redefine a NeedIndent propriedade para false.

(Herdado de TraceListener)
WriteLine(Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para o ouvinte que crias quando implementas a TraceListener classe, seguido de um terminador de linha.

(Herdado de TraceListener)
WriteLine(Object)

Escreve o valor do método do ToString() objeto para o ouvinte que crias quando implementas a TraceListener classe, seguido de um terminador de linha.

(Herdado de TraceListener)
WriteLine(String, String)

Escreve um nome de categoria e uma mensagem para o ouvinte que crias quando implementas a TraceListener classe, seguido de um terminador de linha.

(Herdado de TraceListener)
WriteLine(String)

Escreve uma mensagem nesta instância Writer seguida de um terminador de linha. O terminador de linha por defeito é um retorno de carro seguido de um avanço de linha (\r\n).

(Herdado de TextWriterTraceListener)

Aplica-se a

Ver também