ConsoleTraceListener Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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’erreur standard ou le flux de sortie standard.
Main crée et initialise un ConsoleTraceListener objet pour le flux de sortie spécifié Console et 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 vers 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 trace 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 directement le type, appelez sa Dispose méthode dans untry/catch bloc. Pour la supprimer indirectement, utilisez une construction de langage telle que using (en C#) ou Using (en Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet implémentant IDisposable » dans la rubrique d’interface IDisposable .
Lorsque la sortie de trace 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 méthodes ou Console.Write les Console.WriteLine méthodes. 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 vers une System.IO.TextWriter instance.
Note
Si la console n’existe pas, comme dans une application Windows, les messages écrits dans la console ne sont pas affichés.
Ajoutez un ConsoleTraceListener objet à la collection appropriée Listeners si vous souhaitez que les messages soient écrits par le biais Tracede la console, TraceSourceou Debug pour qu’ils soient écrits dans la console. En outre, vous pouvez écrire des messages directement dans la console à l’aide des méthodes ou Trace.Write des Trace.WriteLine méthodes.
Note
Les Debug classes partagent Trace la même TraceListenerCollection collection, accessibles 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 sortie de trace et de débogage par le biais d’indicateurs de compilation conditionnels. Si vous n’activez pas le suivi ou le débogage, les messages écrits par le biais des 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 ajoutez #define DEBUG en haut de votre fichier. Dans 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. Dans 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 objet ConsoleTraceListener à la collection Listeners via le fichier de configuration de l’application. Ajoutez l’objet ConsoleTraceListener dans votre code pour écrire des messages pour une section de code spécifique ou un chemin d’exécution. Ajoutez l’objet ConsoleTraceListener dans votre fichier de configuration d’application pour diriger tous les messages de trace et de débogage dans la console pendant l’exécution de l’application.
Pour écrire des messages de trace et de débogage dans la console pour une section de code spécifique, initialisez un ConsoleTraceListener objet et ajoutez-le à la Listeners collection. Instrumentez la section du code qui contient des messages à l’aide des classes ou Trace des Debug classes. À 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 trace et de débogage vers la console pendant l’exécution de l’application, ajoutez un objet ConsoleTraceListener 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 <les écouteurs>.
Constructeurs
| Nom | Description |
|---|---|
| ConsoleTraceListener() |
Initialise une nouvelle instance de la ConsoleTraceListener classe avec une sortie de trace écrite dans le flux de sortie standard. |
| ConsoleTraceListener(Boolean) |
Initialise une nouvelle instance de la ConsoleTraceListener classe avec une option permettant d’écrire la sortie de trace dans le flux de sortie standard ou le flux d’erreur standard. |
Propriétés
| Nom | Description |
|---|---|
| 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 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 indiquant 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 s’il faut mettre en retrait la sortie. (Hérité de TraceListener) |
| TraceOutputOptions |
Obtient ou définit les options de sortie de trace. (Hérité de TraceListener) |
| Writer |
Obtient ou définit l’enregistreur de texte qui reçoit la sortie de suivi ou de débogage. (Hérité de TextWriterTraceListener) |
Méthodes
| Nom | Description |
|---|---|
| Close() |
Ferme la sortie au flux spécifié pour cet écouteur de trace. |
| Close() |
Ferme la Writer sortie afin qu’elle ne reçoive plus de suivi ou de débogage. (Hérité de TextWriterTraceListener) |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le TraceListener. (Hérité de TraceListener) |
| Dispose(Boolean) |
Supprime cet TextWriterTraceListener objet. (Hérité de TextWriterTraceListener) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| Fail(String, String) |
Émet un message d’erreur et un message d’erreur détaillé à l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Fail(String) |
Émet un message d’erreur à l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Flush() |
Vide la mémoire tampon de sortie pour le Writer. (Hérité de TextWriterTraceListener) |
| GetHashCode() |
Sert 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 actuel 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 la 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 Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (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 des informations de trace, un objet de données et des informations d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Écrit des informations de trace, un tableau d’objets de données et des informations d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Écrit des informations de trace, un tableau mis en forme d’objets et d’informations d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Écrit des informations de trace, un message et des informations d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Écrit les informations de trace et d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Écrit des informations de trace, un message, une identité d’activité associée et des informations d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| Write(Object, String) |
Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Write(Object) |
Écrit la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Write(String, String) |
Écrit un nom de catégorie et un message dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Write(String) |
Écrit un message dans le message de Writercette instance. (Hérité de TextWriterTraceListener) |
| WriteIndent() |
Écrit le retrait dans l’écouteur que vous créez lorsque vous implémentez cette classe et réinitialise la NeedIndent propriété sur |
| WriteLine(Object, String) |
Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe, suivie d’un terminateur de ligne. (Hérité de TraceListener) |
| WriteLine(Object) |
Écrit la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe, suivie d’une marque de fin de ligne. (Hérité de TraceListener) |
| WriteLine(String, String) |
Écrit un nom de catégorie et un message dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe, suivi d’un terminateur de ligne. (Hérité de TraceListener) |
| WriteLine(String) |
Écrit un message dans l’instance suivie d’un terminateur de Writer ligne. Le terminateur de ligne par défaut est un retour chariot suivi d’un flux de ligne (\r\n). (Hérité de TextWriterTraceListener) |