Écouteurs de la traceTrace Listeners

Quand vous utilisez Trace, Debug et TraceSource, vous devez disposer d’un mécanisme de collecte et d’enregistrement des messages envoyés.When using Trace, Debug and TraceSource, you must have a mechanism for collecting and recording the messages that are sent. Les messages de suivi sont reçus par des écouteurs.Trace messages are received by listeners. Le but d'un écouteur est de collecter, de stocker et de router les messages de suivi.The purpose of a listener is to collect, store, and route tracing messages. Les écouteurs dirigent la sortie de suivi vers une cible appropriée, telle qu'un journal, une fenêtre ou un fichier de texte.Listeners direct the tracing output to an appropriate target, such as a log, window, or text file.

Les écouteurs sont disponibles pour les classes Debug, Trace et TraceSource, et chacune d’elles peut envoyer sa sortie à de nombreux objets écouteur.Listeners are available to the Debug, Trace, and TraceSource classes, each of which can send its output to a variety of listener objects. Voici les écouteurs prédéfinis couramment utilisés :The following are the commonly used predefined listeners:

  • TextWriterTraceListener redirige la sortie vers une instance de la classe TextWriter ou vers toute classe Stream.A TextWriterTraceListener redirects output to an instance of the TextWriter class or to anything that is a Stream class. Il peut également écrire dans la console ou un fichier, car il s'agit de classes Stream.It can also write to the console or to a file, because these are Stream classes.

  • EventLogTraceListener redirige la sortie vers un journal d'événements.An EventLogTraceListener redirects output to an event log.

  • DefaultTraceListener émet des messages Write et WriteLine vers OutputDebugString et la méthode Debugger.Log.A DefaultTraceListener emits Write and WriteLine messages to the OutputDebugString and to the Debugger.Log method. Dans Visual Studio, cela entraîne l'affichage des messages de débogage dans la fenêtre de sortie.In Visual Studio, this causes the debugging messages to appear in the Output window. Les messages Fail et les messages Assert d’échec émettent également vers l’API Windows OutputDebugString et la méthode Debugger.Log, et entraînent aussi l’affichage d’une boîte de message.Fail and failed Assert messages also emit to the OutputDebugString Windows API and the Debugger.Log method, and also cause a message box to be displayed. Ce comportement est le comportement par défaut pour les messages Debug et Trace, car DefaultTraceListener est le seul écouteur automatiquement inclus dans chaque collection Listeners.This behavior is the default behavior for Debug and Trace messages, because DefaultTraceListener is automatically included in every Listeners collection and is the only listener automatically included.

  • ConsoleTraceListener dirige la sortie de traçage ou de débogage vers la sortie standard ou le flux d'erreurs standard.A ConsoleTraceListener directs tracing or debugging output to either the standard output or the standard error stream.

  • DelimitedListTraceListener dirige la sortie de traçage ou de débogage vers un writer de texte (par ex., un writer de flux), ou vers un flux de données (par ex., un flux de fichiers).A DelimitedListTraceListener directs tracing or debugging output to a text writer, such as a stream writer, or to a stream, such as a file stream. Le format de la sortie de trace est un format de texte délimité qui utilise le délimiteur spécifié par la propriété Delimiter.The trace output is in a delimited text format that uses the delimiter specified by the Delimiter property.

  • XmlWriterTraceListener dirige la sortie de traçage ou de débogage sous forme de données encodées en XML vers un TextWriter ou un Stream, par exemple, un FileStream.An XmlWriterTraceListener directs tracing or debugging output as XML-encoded data to a TextWriter or to a Stream, such as a FileStream.

Si vous voulez qu’un autre écouteur en plus de DefaultTraceListener reçoive également la sortie de Debug, Trace et TraceSource, vous devez l’ajouter à la collection Listeners.If you want any listener besides the DefaultTraceListener to receive Debug, Trace and TraceSource output, you must add it to the Listeners collection. Pour plus d'informations, voir Procédure : Créer et initialiser des écouteurs de Trace et Comment : Utiliser des TraceSource et des filtres avec des écouteurs de Trace.For more information, see How to: Create and Initialize Trace Listeners and How to: Use TraceSource and Filters with Trace Listeners. N’importe quel écouteur de la collection Listeners reçoit les mêmes messages en provenance des méthodes de sortie de suivi.Any listener in the Listeners collection gets the same messages from the trace output methods. Par exemple, supposons que vous définissiez deux écouteurs : TextWriterTraceListener et EventLogTraceListener.For example, suppose you set up two listeners: a TextWriterTraceListener and an EventLogTraceListener. Chaque écouteur reçoit le même message.Each listener receives the same message. TextWriterTraceListener dirige sa sortie vers un flux et EventLogTraceListener dirige sa sortie vers un journal des événements.The TextWriterTraceListener would direct its output to a stream, and the EventLogTraceListener would direct its output to an event log.

L’exemple suivant montre comment envoyer la sortie vers la collection Listeners.The following example shows how to send output to the Listeners collection.

' 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");  

Debug et Trace partagent la même collection Listeners ; par conséquent, si vous ajoutez un objet écouteur à une collection Debug.Listeners dans votre application, il est également ajouté à la collection Trace.Listeners.Debug and trace share the same Listeners collection, so if you add a listener object to a Debug.Listeners collection in your application, it gets added to the Trace.Listeners collection as well.

L'exemple suivant montre comment utiliser un écouteur pour envoyer des informations de traçage à une console :The following example shows how to use a listener to send tracing information to a 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));  

Écouteurs définis par le développeurDeveloper-Defined Listeners

Vous pouvez définir vos propres écouteurs en héritant de la classe de base TraceListener et en remplaçant ses méthodes par vos méthodes personnalisées.You can define your own listeners by inheriting from the TraceListener base class and overriding its methods with your customized methods. Pour plus d'informations sur la création d'écouteurs définis par le développeur, voir TraceListener dans la documentation .NET Framework.For more information on creating developer-defined listeners, see TraceListener in the .NET Framework reference.

Voir aussiSee also