Compartilhar via


Ouvintes de rastreamento

Ao usar Rastreamento, Depurar and TraceSource, você deve ter um mecanismo para coletar e registrar as mensagens que são enviadas. Rastreamento de mensagens é recebidos por ouvintes.A finalidade de um ouvinte é coletar, armazenar e encaminhar mensagens de rastreamento.Ouvintes de direcionar a saída de rastreamento para um destino apropriado, sistema autônomo um log, a janela ou o arquivo de texto.

Ouvintes estão disponível para o Depurar, Rastreamento and TraceSource classes, cada um deles pode enviar sua saída para uma variedade de objetos de ouvinte. Existem três tipos de ouvintes predefinidos:

  • A TextWriterTraceListener Redireciona a saída a uma instância das TextWriter classe ou a qualquer coisa que seja um Stream classe. Também ele pode gravar no console ou em um arquivo, pois esses são Stream classes.

  • An EventLogTraceListener Redireciona saída para um log de eventos.

  • A DefaultTraceListener emite gravar and WriteLine mensagens de a OutputDebugString e para o Debugger.Log método.No Visual Studio, isso faz com que as mensagens de depuração sejam exibidas na janela Saída.Falha e de falhaDeclarar também emitem mensagens de a OutputDebugString API do Windows e o Debugger.Log método e também causa uma caixa de mensagem a ser exibido.Esse comportamento é o comportamento padrão de Depurar and Rastreamento mensagens, pois DefaultTraceListener é incluído automaticamente em cada Listeners coleção e é o único ouvinte incluído automaticamente.

  • A ConsoleTraceListener Direciona rastreamento ou depuração saída para a saída padrão ou o fluxo de erro padrão. 

  • A DelimitedListTraceListener Direciona rastreamento ou depuração saída para um text writer, sistema autônomo um gravador de fluxo ou um fluxo, sistema autônomo um fluxo de arquivos. A saída do rastreamento está em um formato de texto delimitado que usa o delimitador especificado pela Delimiter propriedade.     

  • An XmlWriterTraceListener Direciona rastreamento ou depuração saída sistema autônomo dados codificados em XML para um TextWriter ou para um Stream, sistema autônomo um FileStream.

Se você desejar que qualquer ouvinte além do DefaultTraceListener para receber Depurar, Rastreamento and TraceSource saída, você deve adicioná-lo para o Listeners coleção. Para obter mais informações, consulte Como: Criar e inicializar listeners de rastreamento e Como: Usar TraceSource e filtros com listeners de rastreamento.Nenhum ouvinte no Ouvintescoleção obtém as mesmas mensagens de rastreamento métodos de saída.Por exemplo, suponha que você configurar dois ouvintes: a TextWriterTraceListener and an EventLogTraceListener.Cada ouvinte recebe a mesma mensagem.The TextWriterTraceListener deve direcionar sua saída para um fluxo e o EventLogTraceListener deve direcionar sua saída em um log de eventos.

O exemplo a seguir mostra como enviar saída para o Ouvintes coleção.

' Use this example when debugging.
Debug.WriteLine("Error in Widget 42")
' Use this example when tracing.
Trace.WriteLine("Error in Widget 42")
// Use this example when debugging.
System.Diagnostics.Debug.WriteLine("Error in Widget 42");
// Use this example when tracing.
System.Diagnostics.Trace.WriteLine("Error in Widget 42");
// Use this example when debugging.
System.Diagnostics.Debug.WriteLine("Error in Widget 42");
// Use this example when tracing.
System.Diagnostics.Trace.WriteLine("Error in Widget 42");

depurar e rastreamento compartilham o mesmo Ouvintes coleção, portanto, se você adicionar um objeto de ouvinte para um depurar.Listeners coleção em seu aplicativo, ele é adicionado ao Trace.Listeners coleção também.

O exemplo a seguir mostra como usar um ouvinte para enviar as informações de rastreamento para um console:

Trace.Listeners.Clear()
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
System.Diagnostics.Trace.Listeners.Clear();
System.Diagnostics.Trace.Listeners.Add(
   new System.Diagnostics.TextWriterTraceListener(Console.Out));
System.Diagnostics.Trace.get_Listeners().Clear();
System.Diagnostics.Trace.get_Listeners().Add(
   new System.Diagnostics.TextWriterTraceListener(Console.get_Out()));

Definido pelo desenvolvedor ouvintes

Você pode definir seus próprios ouvintes, herdam o TraceListener básicos classe e seus métodos com seus métodos personalizados.Para obter mais informações sobre criar ouvintes definidos pelo desenvolvedor, consulte TraceListener na referência do .NET estrutura.

Consulte também

Conceitos

Introdução à instrumentação e rastreamento

Opções de rastreamento

Referência

TextWriterTraceListener

EventLogTraceListener

DefaultTraceListener

TraceListener

Outros recursos

Rastreamento e intrumentando aplicações