ConsoleTraceListener Classe

Définition

Dirige la sortie de traçage ou de débogage vers la sortie standard ou le flux d'erreurs standard.

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
Héritage

Exemples

L’exemple de code suivant implémente une application console composée d’une classe avec deux méthodes publiques.

La Main méthode examine les arguments de ligne de commande et détermine si la sortie de trace doit être dirigée vers le flux d’erreurs standard ou le flux de sortie standard. Main crée et initialise un ConsoleTraceListener objet pour le flux de sortie spécifié Console , puis ajoute cet objet à la collection d’écouteurs de trace. Il appelle ensuite la WriteEnvironmentInfoToTrace méthode, qui écrit des détails sur l’environnement en cours d’exécution et la configuration de l’écouteur de trace dans la sortie de trace.

Lorsque l’exemple d’application s’exécute, les détails de configuration de l’environnement et de la trace sont écrits dans le flux de sortie de la console spécifié via l’objet ConsoleTraceListener .

// Define the TRACE directive, which enables trace output to the
// Trace.Listeners collection. Typically, this directive is defined
// as a compilation argument.
#define TRACE
using System;
using System.Diagnostics;

public class ConsoleTraceSample
{

    // Define a simple method to write details about the current executing
    // environment to the trace listener collection.
    public static void WriteEnvironmentInfoToTrace()
    {

        string methodName = "WriteEnvironmentInfoToTrace";

        Trace.Indent();
        Trace.WriteLine(DateTime.Now.ToString() + " - Start of " + methodName);
        Trace.Indent();

        // Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " + System.Environment.OSVersion.ToString());
        Trace.WriteLine("Computer name: " + System.Environment.MachineName);
        Trace.WriteLine("User name: " + System.Environment.UserName);
        Trace.WriteLine("CLR runtime version: " + System.Environment.Version.ToString());
        Trace.WriteLine("Command line: " + System.Environment.CommandLine);

        // Enumerate the trace listener collection and
        // display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " + Trace.Listeners.Count.ToString());

        foreach (TraceListener tl in Trace.Listeners)
        {
            Trace.WriteLine("Trace listener name = " + tl.Name);
            Trace.WriteLine("               type = " + tl.GetType().ToString());
        }

        Trace.Unindent();
        Trace.WriteLine(DateTime.Now.ToString() + " - End of " + methodName);
        Trace.Unindent();
    }

    // Define the main entry point of this class.
    // The main method adds a console trace listener to the collection
    // of configured trace listeners, then writes details on the current
    // executing environment.
    public static void Main(string[] CmdArgs)
    {

        // Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - Start of Main");

        // Define a trace listener to direct trace output from this method
        // to the console.
        ConsoleTraceListener consoleTracer;

        // Check the command line arguments to determine which
        // console stream should be used for trace output.
        if ((CmdArgs.Length>0)&&(CmdArgs[0].ToString().ToLower().Equals("/stderr")))
            // Initialize the console trace listener to write
            // trace output to the standard error stream.
        {
            consoleTracer = new ConsoleTraceListener(true);
        }
        else
        {
            // Initialize the console trace listener to write
            // trace output to the standard output stream.
            consoleTracer = new ConsoleTraceListener();
        }
        // Set the name of the trace listener, which helps identify this
        // particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer";

        // Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Starting output to trace listener.");

        // Add the new console trace listener to
        // the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer);

        // Call a local method, which writes information about the current
        // execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace();

        // Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Ending output to trace listener.");

        // Flush any pending trace messages, remove the
        // console trace listener from the collection,
        // and close the console trace listener.
        Trace.Flush();
        Trace.Listeners.Remove(consoleTracer);
        consoleTracer.Close();

        // Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - End of Main");

        // Close all other configured trace listeners.
        Trace.Close();
    }
}
' Define the TRACE constant, which enables trace output to the 
' Trace.Listeners collection. Typically, this constant is defined
' as a compilation argument.
#Const TRACE = True

Imports System.Diagnostics

Public Class ConsoleTraceSample

    ' Define a simple method to write details about the current executing 
    ' environment to the trace listener collection.
    Public Shared Sub WriteEnvironmentInfoToTrace()

        Dim methodName As String = "WriteEnvironmentInfoToTrace"

        Trace.Indent()
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of " & methodName)
        Trace.Indent()

        ' Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " & _
            System.Environment.OSVersion.ToString())
        Trace.WriteLine("Computer name: " & System.Environment.MachineName)
        Trace.WriteLine("User name: " & System.Environment.UserName)
        Trace.WriteLine("CLR version: " & System.Environment.Version.ToString)
        Trace.WriteLine("Command line: " & System.Environment.CommandLine)

        ' Enumerate the trace listener collection and 
        ' display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " & _
            Trace.Listeners.Count.ToString())

        Dim tl As TraceListener
        For Each tl In Trace.Listeners
            Trace.WriteLine("Trace listener name = " & tl.Name)
            Trace.WriteLine("               type = " & tl.GetType().ToString())
        Next tl

        Trace.Unindent()
        Trace.WriteLine(DateTime.Now.ToString() & " - End of " & methodName)
        Trace.Unindent()

    End Sub

    ' Define the main entry point of this class.
    ' The main method adds a console trace listener to the collection
    ' of configured trace listeners, then writes details on the current
    ' executing environment.
    Public Shared Sub Main(ByVal CmdArgs() As String)

        ' Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of Main")

        ' Define a trace listener to direct trace output from this method
        ' to the console.
        Dim consoleTracer As ConsoleTraceListener

        ' Check the command line arguments to determine which
        ' console stream should be used for trace output.
        If (CmdArgs.Length > 0) AndAlso _
           (CmdArgs(0).ToLower.Equals("/stderr")) Then
            ' Initialize the console trace listener to write
            ' trace output to the standard error stream.
            consoleTracer = New ConsoleTraceListener(True)
        Else
            ' Initialize the console trace listener to write
            ' trace output to the standard output stream.
            consoleTracer = New ConsoleTraceListener
        End If
        ' Set the name of the trace listener, which helps identify this 
        ' particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer"

        ' Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
             consoleTracer.Name & "] - Starting output to trace listener.")

        ' Add the new console trace listener to 
        ' the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer)

        ' Call a local method, which writes information about the current 
        ' execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace()

        ' Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
            consoleTracer.Name & "] - Ending output to trace listener.")

        ' Flush any pending trace messages, remove the 
        ' console trace listener from the collection,
        ' and close the console trace listener.
        Trace.Flush()
        Trace.Listeners.Remove(consoleTracer)
        consoleTracer.Close()

        ' Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() + " - End of Main")

        ' Close all other configured trace listeners.
        Trace.Close()

    End Sub

End Class

Remarques

Utilisez la ConsoleTraceListener classe pour écrire des messages de suivi et de débogage dans la console. Vous pouvez initialiser un ConsoleTraceListener objet pour écrire des messages de trace dans le Console.Out flux ou dans le Console.Error flux.

Important

Ce type implémente l'interface IDisposable. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement. Pour supprimer le type directement, appelez sa Dispose méthode dans untry/catch bloc. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IDisposable » dans la rubrique de l’interface IDisposable.

Lorsque la sortie de suivi et de débogage est activée, les ConsoleTraceListener messages sont écrits dans le flux spécifié System.Console , ce qui est similaire à la façon dont les messages sont écrits avec les Console.Write méthodes ou Console.WriteLine . Dans une application console, les System.Console flux de sortie et d’erreur écrivent des messages dans la fenêtre de console existante, ou vous pouvez rediriger les flux pour écrire dans une System.IO.TextWriter instance.

Notes

Si la console n’existe pas, comme dans une application Windows, les messages écrits dans la console ne s’affichent pas.

Ajoutez un ConsoleTraceListener objet à la collection appropriée Listeners si vous souhaitez que les messages écrits via Trace, TraceSourceou Debug soient écrits dans la console. En outre, vous pouvez écrire des messages directement dans la console à l’aide des Trace.Write méthodes ou Trace.WriteLine .

Notes

Les Debug classes et Trace partagent la même TraceListenerCollection collection, accessible via leurs propriétés respectives Listeners . Si vous ajoutez un ConsoleTraceListener objet à la collection à l’aide de l’une de ces classes, l’autre classe utilise automatiquement le même écouteur.

La plupart des compilateurs activent la trace et la sortie de débogage via des indicateurs de compilation conditionnelle. Si vous n’activez pas le suivi ou le débogage, les messages écrits via les System.Diagnostics.Debug classes et System.Diagnostics.Trace sont effectivement ignorés. La syntaxe permettant d’activer la sortie de trace et de débogage est spécifique au compilateur ; si vous utilisez des compilateurs autres que C# ou Visual Basic, reportez-vous à la documentation de votre compilateur.

  • Pour activer le débogage en C#, ajoutez l’indicateur /d:DEBUGà la ligne de commande du compilateur lorsque vous compilez votre code, ou vous pouvez ajouter #define DEBUG en haut de votre fichier. En Visual Basic, ajoutez l’indicateur /d:DEBUG=True à la ligne de commande du compilateur.

  • Pour activer le suivi en C#, ajoutez l’indicateur /d:TRACE à la ligne de commande du compilateur lorsque vous compilez votre code, ou ajoutez #define TRACE en haut de votre fichier. En Visual Basic, ajoutez l’indicateur /d:TRACE=True à la ligne de commande du compilateur.

Vous pouvez ajouter un ConsoleTraceListener objet à la Listeners collection dans votre code. Ou, pour les applications .NET Framework, vous pouvez ajouter un ConsoleTraceListener objet à la collection via le Listeners fichier de configuration de l’application. Ajoutez l’objet ConsoleTraceListener dans votre code pour écrire des messages pour une section de code ou un chemin d’exécution spécifique. Ajoutez l’objet ConsoleTraceListener dans votre fichier de configuration d’application pour diriger tous les messages de suivi et de débogage vers la console pendant l’exécution de l’application.

Pour écrire des messages de suivi et de débogage dans la console pour une section spécifique de code, initialisez un ConsoleTraceListener objet et ajoutez-le à la Listeners collection. Instrumentez la section de code qui contient des messages à l’aide des Trace classes ou Debug . À la fin de la section de code, supprimez l’objet ConsoleTraceListener de la Listeners collection et appelez la Close méthode sur le ConsoleTraceListener.

Pour les applications .NET Framework, pour diriger tous les messages de suivi et de débogage vers la console pendant l’exécution de l’application, ajoutez un ConsoleTraceListener objet au fichier de configuration de l’application. L’exemple suivant ajoute un ConsoleTraceListener objet nommé configConsoleListener à la Listeners collection.

<configuration>  
  <system.diagnostics>  
    <trace autoflush="false" indentsize="4">  
      <listeners>  
        <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />  
      </listeners>  
    </trace>  
  </system.diagnostics>  
 </configuration>  

Pour plus d’informations sur l’ajout d’écouteurs de trace dans le fichier de configuration de l’application, consultez <écouteurs>.

Constructeurs

ConsoleTraceListener()

Initialise une nouvelle instance de la classe ConsoleTraceListener avec une sortie de trace écrite dans le flux de sortie standard.

ConsoleTraceListener(Boolean)

Initialise une nouvelle instance de la classe ConsoleTraceListener avec une option pour écrire la sortie de trace dans le flux de sortie standard ou le flux d'erreurs standard.

Propriétés

Attributes

Obtient les attributs d'écouteur de trace personnalisés définis dans le fichier de configuration de l'application.

(Hérité de TraceListener)
Filter

Obtient ou définit le filtre de trace pour l’écouteur de la trace.

(Hérité de TraceListener)
IndentLevel

Obtient ou définit le niveau de retrait.

(Hérité de TraceListener)
IndentSize

Obtient ou définit le nombre d'espaces dans un retrait.

(Hérité de TraceListener)
IsThreadSafe

Obtient une valeur qui indique si l'écouteur de trace est thread-safe.

(Hérité de TraceListener)
Name

Obtient ou définit un nom pour ce TraceListener.

(Hérité de TraceListener)
NeedIndent

Obtient ou définit une valeur indiquant si la sortie doit être mise en retrait.

(Hérité de TraceListener)
TraceOutputOptions

Obtient ou définit les options de sortie de trace.

(Hérité de TraceListener)
Writer

Obtient ou définit TextWriter qui reçoit la sortie de traçage ou de débogage.

(Hérité de TextWriterTraceListener)

Méthodes

Close()

Ferme la sortie au flux spécifié pour cet écouteur de suivi.

Close()

Ferme Writer pour qu'il ne reçoive plus la sortie de traçage ou de débogage.

(Hérité de TextWriterTraceListener)
CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par TraceListener.

(Hérité de TraceListener)
Dispose(Boolean)

Supprime cet objet TextWriterTraceListener.

(Hérité de TextWriterTraceListener)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Fail(String)

Émet un message d'erreur à l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Fail(String, String)

Émet un message d'erreur, ainsi qu'un message d'erreur détaillé, à l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Flush()

Vide la mémoire tampon de sortie du Writer.

(Hérité de TextWriterTraceListener)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetSupportedAttributes()

Obtient les attributs personnalisés pris en charge par l'écouteur de trace.

(Hérité de TraceListener)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Écrit les informations sur la trace, un objet de données et les informations sur les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Écrit les informations sur la trace, un tableau d'objets de données et les informations sur les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Écrit les informations sur la trace et les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Écrit les informations sur la trace, un message et les informations sur les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Écrit les informations sur la trace, un tableau d'objets mis en forme et les informations sur les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Écrit les informations sur la trace, un message, une identité d'activité connexe et les informations sur les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
Write(Object)

Écrit la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Write(Object, String)

Écrit un nom de catégorie ou la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Write(String)

Écrit un message dans le Writer de cette instance.

(Hérité de TextWriterTraceListener)
Write(String, String)

Écrit un nom de catégorie et un message dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
WriteIndent()

Écrit la mise en retrait dans l'écouteur que vous créez lors de l'implémentation de cette classe et rétablit la valeur false à la propriété NeedIndent.

(Hérité de TraceListener)
WriteLine(Object)

Écrit la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener, suivie d'une marque de fin de ligne.

(Hérité de TraceListener)
WriteLine(Object, String)

Écrit un nom de catégorie ou la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener, suivis d'une marque de fin de ligne.

(Hérité de TraceListener)
WriteLine(String)

Écrit un message suivi d'un terminateur de ligne sur le Writer de cette instance. La ligne se termine par défaut par un retour chariot suivi d'un changement de ligne (\r\n).

(Hérité de TextWriterTraceListener)
WriteLine(String, String)

Écrit un nom de catégorie ou un message dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener, suivis d'une marque de fin de ligne.

(Hérité de TraceListener)

S’applique à

Voir aussi