Trace 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.
Fournit un ensemble de méthodes et de propriétés qui vous permettent de tracer l'exécution de votre code. Cette classe ne peut pas être héritée.
public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
- Héritage
-
Trace
Exemples
L’exemple suivant utilise Trace pour indiquer le début et la fin de l’exécution d’un programme. L’exemple utilise également les méthodes et Trace.Unindent les Trace.Indent méthodes pour distinguer la sortie de suivi. Pour obtenir un exemple plus complet de l’utilisation de Trace, voir Comment : ajouter des instructions trace au code d’application.
// Specify /DTRACE when compiling.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
#if defined(TRACE)
Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
Trace::AutoFlush = true;
Trace::Indent();
Trace::WriteLine( "Entering Main" );
#endif
Console::WriteLine( "Hello World." );
#if defined(TRACE)
Trace::WriteLine( "Exiting Main" );
Trace::Unindent();
#endif
return 0;
}
// Specify /d:TRACE when compiling.
using System;
using System.Diagnostics;
class Test
{
static void Main()
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
Trace.AutoFlush = true;
Trace.Indent();
Trace.WriteLine("Entering Main");
Console.WriteLine("Hello World.");
Trace.WriteLine("Exiting Main");
Trace.Unindent();
}
}
' Specify /d:TRACE=True when compiling.
Imports System.Diagnostics
Class Test
Shared Sub Main()
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
Trace.AutoFlush = True
Trace.Indent()
Trace.WriteLine("Entering Main")
Console.WriteLine("Hello World.")
Trace.WriteLine("Exiting Main")
Trace.Unindent()
End Sub
End Class
Remarques
Vous pouvez utiliser les propriétés et les méthodes de la Trace classe pour instrumenter les builds de mise en production. L’instrumentation vous permet de surveiller l’intégrité de votre application s’exécutant dans des paramètres réels. Le suivi vous aide à isoler les problèmes et à les résoudre sans déranger un système en cours d’exécution.
Cette classe fournit des méthodes pour afficher une Assert boîte de dialogue et émettre une assertion qui sera toujours Fail. Cette classe fournit des méthodes d’écriture dans les variantes suivantes :
Les BooleanSwitch classes et les TraceSwitch classes fournissent des moyens de contrôler dynamiquement la sortie de suivi. Dans les applications .NET Framework, vous pouvez modifier les valeurs de ces commutateurs sans recompiler votre application. Pour plus d’informations sur l’utilisation du fichier de configuration pour définir un commutateur dans une application .NET Framework, consultez la Switch classe et comment : créer, initialiser et configurer des commutateurs de trace.
Vous pouvez personnaliser la cible de la sortie de suivi en ajoutant TraceListener des instances ou en supprimant des instances de la Listeners collection. La Listeners collection est partagée par les classes et les Trace Debug classes ; l’ajout d’un écouteur de trace à l’une ou l’autre classe ajoute l’écouteur à la fois. Par défaut, la sortie de trace est émise à l’aide de la DefaultTraceListener classe.
Notes
L’ajout d’un écouteur de trace à la Listeners collection peut entraîner la levée d’une exception lors du suivi, si une ressource utilisée par l’écouteur de trace n’est pas disponible. Les conditions et l’exception levée dépendent de l’écouteur de trace et ne peuvent pas être énumérées dans cette rubrique. Il peut être utile de placer des appels aux Trace méthodes en try
/catch
blocs pour détecter et gérer les exceptions des écouteurs de trace.
Notes
Si vous ajoutez des écouteurs de trace au code partiellement approuvé, vous obtiendrez une exception, car l’ajout d’écouteurs de trace nécessite UnmanagedCode une SecurityException autorisation. Pour suivre le code partiellement approuvé qui s’exécute dans un bac à sable dans Visual Studio, n’ajoutez pas d’écouteurs de trace. Au lieu de cela, affichez les messages et Debug les Trace messages dans la fenêtre Sortie.
La Trace classe fournit des propriétés pour obtenir ou définir le niveau et Indent le IndentSize, et s’il faut le faire AutoFlush après chaque écriture.
Dans les applications .NET Framework, vous pouvez définir le AutoFlush fichier de configuration et IndentSize Trace le faire en modifiant le fichier de configuration correspondant au nom de votre application. Le fichier de configuration doit être mis en forme comme l’exemple suivant :
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
L’attribut ConditionalAttribute est appliqué aux méthodes de Trace. Les compilateurs qui prennent en charge ConditionalAttribute les appels à ces méthodes, sauf s’il TRACE
est défini comme symbole de compilation conditionnelle. Reportez-vous à la documentation d’un compilateur pour déterminer s’il ConditionalAttribute est pris en charge et la syntaxe permettant de définir un symbole de compilation conditionnelle.
Notes
Dans Visual Studio projets, par défaut, le DEBUG
symbole de compilation conditionnelle est défini pour les builds de débogage, et le TRACE
symbole est défini pour les builds de débogage et de mise en production.
Pour définir le TRACE
symbole de compilation conditionnelle en C#, ajoutez l’option /d:TRACE
à la ligne de commande du compilateur lorsque vous compilez votre code à l’aide d’une ligne de commande ou ajoutez #define TRACE
au haut de votre fichier. Dans Visual Basic, ajoutez l’option /d:TRACE=True
à la ligne de commande du compilateur ou ajoutez-la #Const TRACE=True
au fichier.
ConditionalAttribute n’est pas pris en charge par le compilateur C++. Pour fournir des fonctionnalités équivalentes, vous devez placer des appels aux méthodes d’un #if defined(TRACE) ... #endif
bloc et ajouter l’option /DTRACE
à la ligne de Trace commande du compilateur ou ajouter #define TRACE
au fichier.
Propriétés
AutoFlush |
Obtient ou définit une valeur indiquant si Flush() doit être appelé sur Listeners après chaque écriture. |
CorrelationManager |
Obtient le gestionnaire de corrélation pour le thread de ce suivi. |
IndentLevel |
Obtient ou définit le niveau de retrait. |
IndentSize |
Obtient ou définit le nombre d'espaces dans un retrait. |
Listeners |
Obtient la collection d’écouteurs qui surveillent la sortie de suivi. |
UseGlobalLock |
Obtient ou définit une valeur indiquant si le verrouillage global doit être utilisé. |
Méthodes
Assert(Boolean) |
Vérifie une condition ; si la condition est |
Assert(Boolean, String) |
Vérifie une condition ; si la condition a la valeur |
Assert(Boolean, String, String) |
Vérifie une condition ; si la condition est |
Close() |
Vide la mémoire tampon de sortie, puis ferme Listeners. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Fail(String) |
Émet le message d’erreur spécifié. |
Fail(String, String) |
Émet un message d’erreur et un message d’erreur détaillé. |
Flush() |
Vide la mémoire tampon de sortie et entraîne l’écriture des données mises en mémoire dans Listeners. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
Indent() |
Augmente le IndentLevel actuel d’une unité. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
Refresh() |
Actualise les données de configuration de suivi. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
TraceError(String) |
Écrit un message d’erreur dans les écouteurs de suivi de la collection Listeners à l’aide du message spécifié. |
TraceError(String, Object[]) |
Écrit un message d’erreur dans les écouteurs de suivi de la collection Listeners à l’aide du tableau d’objets et des informations de mise en forme spécifiés. |
TraceInformation(String) |
Écrit un message d’information dans les écouteurs de la trace de la collection Listeners à l’aide du message spécifié. |
TraceInformation(String, Object[]) |
Écrit un message d’information dans les écouteurs de suivi de la collection Listeners à l’aide du tableau d’objets et des informations de mise en forme spécifiés. |
TraceWarning(String) |
Écrit un message d’avertissement dans les écouteurs de la trace de la collection Listeners à l’aide du message spécifié. |
TraceWarning(String, Object[]) |
Écrit un message d’avertissement dans les écouteurs de suivi de la collection Listeners à l’aide du tableau d’objets et des informations de mise en forme spécifiés. |
Unindent() |
Réduit la propriété IndentLevel actuelle d’une unité. |
Write(Object) |
Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners. |
Write(Object, String) |
Écrit le nom de la catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners. |
Write(String) |
Écrit un message dans les écouteurs de suivi de la collection Listeners. |
Write(String, String) |
Écrit un nom de catégorie et un message dans les écouteurs Trace de la collection Listeners. |
WriteIf(Boolean, Object) |
Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de la trace de la collection Listeners si une condition est |
WriteIf(Boolean, Object, String) |
Écrit un nom de catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners, si une condition a la valeur |
WriteIf(Boolean, String) |
Écrit un message dans les écouteurs de suivi de la collection Listeners si une condition est |
WriteIf(Boolean, String, String) |
Écrit un nom de catégorie et un message dans les écouteurs de la trace de la collection Listeners si une condition est |
WriteLine(Object) |
Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners. |
WriteLine(Object, String) |
Écrit le nom de la catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners. |
WriteLine(String) |
Écrit un message dans les écouteurs de suivi de la collection Listeners. |
WriteLine(String, String) |
Écrit un nom de catégorie et un message dans les écouteurs de suivi de la collection Listeners. |
WriteLineIf(Boolean, Object) |
Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de la trace de la collection Listeners si une condition est |
WriteLineIf(Boolean, Object, String) |
Écrit un nom de catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners, si une condition a la valeur |
WriteLineIf(Boolean, String) |
Écrit un message dans les écouteurs de suivi de la collection Listeners si une condition est |
WriteLineIf(Boolean, String, String) |
Écrit un nom de catégorie et un message dans les écouteurs de la trace de la collection Listeners si une condition est |
S’applique à
Cohérence de thread
Ce type est thread-safe.