Partager via


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

Les classes System.Diagnostics.Debug et System.Diagnostics.Trace envoient des messages à des objets appelés écouteurs qui les reçoivent et qui les traitent. Un de ces écouteurs, le System.Diagnostics.DefaultTraceListener, est automatiquement créé et initialisé lorsque le traçage ou le débogage est activé. Pour que la sortie Trace ou Debug soit dirigée vers d'autres sources, créez et initialisez des écouteurs de suivi supplémentaires.

Les écouteurs que vous créez doivent refléter les besoins de votre application. Par exemple, si vous souhaitez un enregistrement de texte de toutes les sorties de trace, créez un écouteur TextWriterTraceListener qui écrit toutes les sorties dans un nouveau fichier texte lorsqu'il est activé. En revanche, si vous souhaitez afficher la sortie uniquement pendant l'exécution de l'application, créez un écouteur ConsoleTraceListener qui dirige toutes les sorties vers une fenêtre de console. Le EventLogTraceListener peut diriger la sortie de trace vers un journal des événements. Pour plus d'informations, consultez Écouteurs de suivi.

Vous pouvez créer des écouteurs de suivi dans un fichier de configuration de l'application ou dans votre code. Nous vous recommandons d'utiliser des fichiers de configuration de l'application, car ils vous permettent d'ajouter, de modifier ou de supprimer des écouteurs de suivi sans devoir modifier votre code.

Pour créer et utiliser un écouteur de suivi à l'aide d'un fichier de configuration

  1. Déclarez votre écouteur de suivi dans votre fichier de configuration de l'application. Si l'écouteur que vous créez requiert d'autres objets, déclarez-les aussi. L'exemple suivant indique comment créer un écouteur appelé myListener qui écrit dans le fichier texte TextWriterOutput.log.

    <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>
    
  2. Utilisez la classe Trace dans votre code pour écrire un message dans les écouteurs de suivi.

    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();
    

Pour créer et utiliser un écouteur de suivi dans le code

  • Ajoutez l'écouteur de suivi Listeners à la collection et envoyez des informations de traçage aux écouteurs.

    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 -

  • Si vous ne souhaitez pas que votre écouteur reçoive la sortie de trace, 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 dans un écouteur qui ne se trouve pas dans la collection Listeners.

    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();
    

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