Como: Criar e inicializar ouvintes de rastreamento
Nota
Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
As System.Diagnostics.Debug classes e System.Diagnostics.Trace enviam mensagens para objetos chamados ouvintes que recebem e processam essas mensagens. Um desses ouvintes, o , é criado e inicializado automaticamente quando o System.Diagnostics.DefaultTraceListenerrastreamento ou a depuração estão habilitados. Se desejar que Debug a Trace saída seja direcionada para quaisquer fontes adicionais, você deverá criar e inicializar ouvintes de rastreamento adicionais.
Os ouvintes que você cria devem refletir as necessidades do seu aplicativo. Por exemplo, se você quiser um registro de texto de todas as saídas de rastreamento, crie um TextWriterTraceListener ouvinte, que grava toda a saída em um novo arquivo de texto quando ele estiver habilitado. Por outro lado, se você quiser visualizar a saída apenas durante a execução do aplicativo, crie um ConsoleTraceListener ouvinte, que direciona toda a saída para uma janela do console. O EventLogTraceListener pode direcionar a saída de rastreamento para um log de eventos. Para obter mais informações, consulte Ouvintes de rastreamento.
Você pode criar ouvintes de rastreamento em um arquivo de configuração do aplicativo ou em seu código. Recomendamos o uso de arquivos de configuração do aplicativo, pois eles permitem adicionar, modificar ou remover ouvintes de rastreamento sem precisar alterar seu código.
Para criar e usar um ouvinte de rastreamento usando um arquivo de configuração
Declare seu ouvinte de rastreamento no arquivo de configuração do aplicativo. Se o ouvinte que você está criando precisar de outros objetos, declare-os também. O exemplo a seguir mostra como criar um ouvinte chamado
myListener
que grava no arquivo deTextWriterOutput.log
texto .<configuration> <system.diagnostics> <trace autoflush="false" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" /> <remove name="Default" /> </listeners> </trace> </system.diagnostics> </configuration>
Use a Trace classe em seu código para escrever uma mensagem para os ouvintes de rastreamento.
Trace.TraceInformation("Test message.") ' You must close or flush the trace to empty the output buffer. Trace.Flush()
Trace.TraceInformation("Test message."); // You must close or flush the trace to empty the output buffer. Trace.Flush();
Para criar e usar um ouvinte de rastreamento no código
Adicione o ouvinte de rastreamento à Listeners coleção e envie informações de rastreamento para os ouvintes.
Trace.Listeners.Add(New TextWriterTraceListener("TextWriterOutput.log", "myListener")) Trace.TraceInformation("Test message.") ' You must close or flush the trace to empty the output buffer. Trace.Flush()
Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Test message."); // You must close or flush the trace to empty the output buffer. Trace.Flush();
- ou -
Se você não quiser que o ouvinte receba saída de rastreamento, não a adicione à Listeners coleção. Você pode emitir saída por meio de um ouvinte independente da coleção, Listeners chamando os próprios métodos de saída do ouvinte. O exemplo a seguir mostra como escrever uma linha para um ouvinte que não está na Listeners coleção.
Dim myListener As New TextWriterTraceListener("TextWriterOutput.log", "myListener") myListener.WriteLine("Test message.") ' You must close or flush the trace listener to empty the output buffer. myListener.Flush()
TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput.log", "myListener"); myListener.WriteLine("Test message."); // You must close or flush the trace listener to empty the output buffer. myListener.Flush();
Consulte também
- Rastrear ouvintes
- Comutadores de rastreio
- Como: Adicionar instruções de rastreamento ao código do aplicativo
- Tracing and Instrumenting Applications (Rastrear e Instrumentalizar Aplicações)