Comment : créer et initialiser les écouteurs de la trace

Mise à jour : novembre 2007

Les classes Debug et Trace envoient des messages à des objets appelés écouteurs qui les reçoivent et qui les traitent. L'un de ces écouteurs, DefaultTraceListener, est automatiquement créé et initialisé lorsque le traçage ou le débogage est activé. Pour plus d'informations, consultez Écouteurs de traçage. Si vous souhaitez que la sortie Trace ou Debug soit dirigée vers une source supplémentaire, vous devez créer et initialiser d'autres écouteurs de traçage.

Les écouteurs que vous créez doivent refléter vos besoins individuels. Par exemple, vous pouvez avoir besoin d'un enregistrement texte de toutes les données de sortie de traçage. Dans ce cas, vous devriez créer un écouteur qui écrit toutes les données de sortie dans un nouveau fichier texte lorsque celui-ci est activé. En revanche, vous pouvez avoir uniquement besoin d'examiner la sortie lors de l'exécution de l'application. Dans ce cas, vous pouvez créer un écouteur qui dirige toutes les données de sortie vers une fenêtre de console. L'écouteur EventLogTraceListener peut diriger la sortie de traçage vers un journal des événements et l'écouteur TextWriterTraceListener peut diriger la sortie de traçage vers un flux.

Pour créer et initialiser votre écouteur de trace

  1. Déclarez votre écouteur de trace. Si l'écouteur particulier que vous créez requiert d'autres objets, déclarez-les aussi. L'exemple suivant montre comment créer un écouteur qui écrit des informations dans un fichier texte :

    ' Creates the text file that the trace listener will write to.
    Dim myTraceLog As New System.IO.FileStream("C:\myTraceLog.txt", _
       IO.FileMode.OpenOrCreate)
    ' Creates the new trace listener
    Dim myListener As New TextWriterTraceListener(myTraceLog)
    
    // Creates the text file that the trace listener will write to.
    System.IO.FileStream myTraceLog = new 
       System.IO.FileStream("C:\\myTraceLog.txt", 
       System.IO.FileMode.OpenOrCreate);
    // Creates the new trace listener.
    System.Diagnostics.TextWriterTraceListener myListener = 
       new System.Diagnostics.TextWriterTraceListener(myTraceLog);
    
  2. Émettez la sortie de traçage.

    • Si vous souhaitez que votre écouteur reçoive toutes les données de sortie de traçage, ajoutez votre écouteur à la collection Listeners.

      L'exemple suivant montre comment ajouter votre écouteur à la collection Listeners :

      Trace.Listeners.Add(myListener)
      
      System.Diagnostics.Trace.Listeners.Add(myListener);
      

      - ou -

    • Si vous ne souhaitez pas que votre écouteur reçoive la sortie de traçage, ne l'ajoutez pas à la collection Listeners. Vous pouvez émettre la sortie via un écouteur indépendant de la collection Listeners en appelant les propres méthodes de sortie de l'écouteur. L'exemple suivant montre comment écrire une ligne à un écouteur qui ne se trouve pas dans la collection Listeners :

      myListener.WriteLine( _
         "This output will not go to the Listeners collection")
      
      myListener.WriteLine( 
         "This output will not go to the Listeners collection");
      
  3. Si votre écouteur n'est pas membre de la collection Listeners, il peut être nécessaire d'appeler la méthode Flush pour enregistrer votre sortie.

    ' Flushes the buffers of all listeners in the Listeners collection.
    Trace.Flush()
    ' Flushes only the buffer of myListener.
    myListener.Flush()
    
    // Flushes the buffers of all listeners in the Listeners collection.
    System.Diagnostics.Trace.Flush();
    // Flushes only the buffer of myListener.
    myListener.Flush();
    

Voir aussi

Tâches

Comment : tracer le code dans une application

Comment : ajouter des instructions de traçage dans le code d'une application

Concepts

Écouteurs de la trace

Commutateurs de traçage

Autres ressources

Traçage et instrumentation d'applications