Partilhar via


ConsoleTraceListener Classe

Definição

Direciona a saída do rastreamento ou depuração para a saída padrão ou 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 a seguir implementa um aplicativo de console que consiste em uma classe com dois métodos públicos.

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

Quando o aplicativo de exemplo é executado, os detalhes de configuração de ambiente e rastreamento são gravados no fluxo de saída do console especificado por meio 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

Comentários

Use a ConsoleTraceListener classe para gravar mensagens de rastreamento e depuração no console. Você pode inicializar um ConsoleTraceListener objeto para gravar mensagens de rastreamento no Console.Out fluxo ou no Console.Error fluxo.

Importante

Esse tipo implementa a interface IDisposable. Quando você terminar de usar o tipo, deverá descartá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame seu Dispose método em umtry/catch bloco. Para descartá-lo indiretamente, use um constructo de linguagem como using ( em C#) ou Using (em Visual Basic). Saiba mais na seção "Como usar um objeto que implementa IDisposable" no tópico da interface IDisposable.

Quando a saída de rastreamento e depuração está habilitada, as ConsoleTraceListener mensagens são gravadas no fluxo especificado System.Console , que é semelhante à maneira como as mensagens são gravadas com os Console.Write métodos ou Console.WriteLine . Em um aplicativo de console, a saída e os System.Console fluxos de erro gravam mensagens na janela do console existente ou você pode redirecionar os fluxos para gravar em uma System.IO.TextWriter instância.

Observação

Se o console não existir, como em um aplicativo baseado no Windows, as mensagens gravadas no console não serão exibidas.

Adicione um ConsoleTraceListener objeto à coleção apropriada Listeners se desejar que mensagens escritas por meio Tracede , TraceSourceou Debug sejam gravadas no console. Além disso, você pode gravar mensagens diretamente no console usando os Trace.Write métodos ou Trace.WriteLine .

Observação

As Debug classes e Trace compartilham a mesma TraceListenerCollection coleção, acessadas por meio de suas respectivas Listeners propriedades. Se você adicionar um ConsoleTraceListener objeto à coleção usando uma dessas classes, a outra classe usará automaticamente o mesmo ouvinte.

A maioria dos compiladores habilita a saída de rastreamento e depuração por meio de sinalizadores de compilação condicional. Se você não habilitar o rastreamento ou a depuração, as mensagens gravadas nas System.Diagnostics.Debug classes e System.Diagnostics.Trace serão efetivamente ignoradas. A sintaxe para habilitar o rastreamento e a saída de depuração é específica do compilador; se você usar compiladores diferentes de C# ou Visual Basic, consulte a documentação do compilador.

  • Para habilitar a depuração em C#, adicione o sinalizador /d:DEBUGà linha de comando do compilador ao compilar o código ou adicione #define DEBUG à parte superior do arquivo. No Visual Basic, adicione o sinalizador /d:DEBUG=True à linha de comando do compilador.

  • Para habilitar o rastreamento em C#, adicione o sinalizador /d:TRACE à linha de comando do compilador ao compilar o código ou adicione #define TRACE à parte superior do arquivo. No Visual Basic, adicione o sinalizador /d:TRACE=True à linha de comando do compilador.

Você pode adicionar um ConsoleTraceListener objeto à Listeners coleção em seu código. Ou, para .NET Framework aplicativos, você pode adicionar um ConsoleTraceListener objeto à Listeners coleção por meio do arquivo de configuração do aplicativo. Adicione o ConsoleTraceListener objeto em seu código para escrever mensagens para uma seção de código específica ou caminho de execução. Adicione o ConsoleTraceListener objeto no arquivo de configuração do aplicativo para direcionar todas as mensagens de rastreamento e depuração para o console enquanto o aplicativo é executado.

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

Para .NET Framework aplicativos, para direcionar todas as mensagens de rastreamento e depuração para o console enquanto o aplicativo é executado, adicione um ConsoleTraceListener objeto ao arquivo de configuração do aplicativo. O exemplo a Listeners seguir adiciona um ConsoleTraceListener objeto chamado configConsoleListener à coleção.

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

Para obter detalhes sobre como adicionar ouvintes de rastreamento no arquivo de configuração do aplicativo, consulte <ouvintes>.

Construtores

ConsoleTraceListener()

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

ConsoleTraceListener(Boolean)

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

Propriedades

Attributes

Obtém os atributos do ouvinte de rastreamento personalizados definidos no arquivo de configuração de aplicativo.

(Herdado de TraceListener)
Filter

Obtém ou define o filtro de rastreamento para o ouvinte de rastreamento.

(Herdado de TraceListener)
IndentLevel

Obtém ou define o nível de recuo.

(Herdado de TraceListener)
IndentSize

Obtém ou define o número de espaços em um recuo.

(Herdado de TraceListener)
IsThreadSafe

Obtém um valor que indica se o ouvinte de rastreamento é thread-safe.

(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 a saída deve ser recuada.

(Herdado de TraceListener)
TraceOutputOptions

Obtém ou define as opções de saída de rastreamento.

(Herdado de TraceListener)
Writer

Obtém ou define o text writer que recebe a saída do rastreamento ou da depuração.

(Herdado de TextWriterTraceListener)

Métodos

Close()

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

Close()

Fecha o Writer para que ele não receba mais a saída de rastreamento ou de depuração.

(Herdado de TextWriterTraceListener)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo TraceListener.

(Herdado de TraceListener)
Dispose(Boolean)

Descarta este objeto TextWriterTraceListener.

(Herdado de TextWriterTraceListener)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Fail(String)

Emite uma mensagem de erro para o ouvinte criado ao implementar a classe TraceListener.

(Herdado de TraceListener)
Fail(String, String)

Emite uma mensagem de erro e uma mensagem de erro detalhada para o ouvinte criado ao implementar a classe TraceListener.

(Herdado de TraceListener)
Flush()

Libera o buffer de saída para o Writer.

(Herdado de TextWriterTraceListener)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetSupportedAttributes()

Obtém os atributos personalizados com suporte no ouvinte de rastreamento.

(Herdado de TraceListener)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Grava as informações de rastreamento, um objeto de dados e informações de evento para a saída específica do ouvinte.

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

Grava informações de rastreamento, uma matriz de objetos de dados e informações de evento na saída específica do ouvinte.

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

Grava as informações de rastreamento e evento para a saída específica do ouvinte.

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

Grava informações de rastreamento, uma mensagem e informações de evento na saída específica do ouvinte.

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

Grava informações de rastreamento, uma matriz de objetos formatada e informações de evento na saída específica do ouvinte.

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

Grava informações de rastreamento, uma mensagem, uma identidade de atividade relacionada e informações de evento na saída específica do ouvinte.

(Herdado de TraceListener)
Write(Object)

Grava o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener.

(Herdado de TraceListener)
Write(Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener.

(Herdado de TraceListener)
Write(String)

Grava uma mensagem no Writer desta instância.

(Herdado de TextWriterTraceListener)
Write(String, String)

Grava um nome de categoria e uma mensagem no ouvinte criado ao implementar a classe TraceListener.

(Herdado de TraceListener)
WriteIndent()

Grava o recuo para o ouvinte criar durante a implementação dessa classe e redefine a propriedade NeedIndent para false.

(Herdado de TraceListener)
WriteLine(Object)

Grava o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha.

(Herdado de TraceListener)
WriteLine(Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha.

(Herdado de TraceListener)
WriteLine(String)

Grava uma mensagem no Writer desta instância seguido por um terminador de linha. O terminador de linha padrão é um retorno de carro seguido por uma alimentação de linha (\r\n).

(Herdado de TextWriterTraceListener)
WriteLine(String, String)

Grava um nome de categoria e uma mensagem no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha.

(Herdado de TraceListener)

Aplica-se a

Confira também