TraceSwitch 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 commutateur à plusieurs niveaux pour contrôler le suivi et la sortie de débogage sans recompiler votre code.
public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
inherit Switch
Public Class TraceSwitch
Inherits Switch
- Héritage
Exemples
L’exemple de code suivant crée un nouveau TraceSwitch commutateur et utilise le commutateur pour déterminer s’il faut imprimer des messages d’erreur. Le commutateur est créé au niveau de la classe.
MyMethod écrit le premier message d’erreur si la Level propriété est définie sur TraceLevel.Error ou supérieure. Toutefois, MyMethod n’écrit pas le deuxième message d’erreur si la valeur Level est inférieure TraceLevel.Verboseà .
//Class-level declaration.
/* Create a TraceSwitch to use in the entire application.*/
static TraceSwitch mySwitch = new TraceSwitch("General", "Entire Application");
static public void MyMethod()
{
// Write the message if the TraceSwitch level is set to Error or higher.
if (mySwitch.TraceError)
Console.WriteLine("My error message.");
// Write the message if the TraceSwitch level is set to Verbose.
if (mySwitch.TraceVerbose)
Console.WriteLine("My second error message.");
}
public static void Main(string[] args)
{
// Run the method that prints error messages based on the switch level.
MyMethod();
}
' Class-level declaration.
' Create a TraceSwitch to use in the entire application.
Private Shared mySwitch As New TraceSwitch("General", "Entire Application")
Public Shared Sub MyMethod()
' Write the message if the TraceSwitch level is set to Error or higher.
If mySwitch.TraceError Then
Console.WriteLine("My error message.")
End If
' Write the message if the TraceSwitch level is set to Verbose.
If mySwitch.TraceVerbose Then
Console.WriteLine("My second error message.")
End If
End Sub
Public Shared Sub Main()
' Run the method that prints error messages based on the switch level.
MyMethod()
End Sub
Remarques
Vous pouvez utiliser un commutateur de trace pour filtrer les messages en fonction de leur importance. La TraceSwitch classe fournit les propriétés , TraceInfoTraceWarninget TraceVerbose fournit les TraceErrorpropriétés pour tester le niveau du commutateur. La Level propriété obtient ou définit le commutateur TraceLevel.
Vous pouvez créer un TraceSwitch code dans votre code et définir le niveau directement pour instrumenter une section spécifique du code.
Dans les applications .NET Framework uniquement, vous pouvez également définir le niveau d’un TraceSwitch via le fichier de configuration de l’application, puis utiliser le niveau configuré TraceSwitch dans votre application. Dans le fichier de configuration de l’application, vous pouvez ajouter ou supprimer un commutateur, définir la valeur d’un commutateur ou effacer tous les commutateurs précédemment définis par l’application. Le fichier de configuration doit être mis en forme comme dans l’exemple suivant :
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1" />
</switches>
</system.diagnostics>
</configuration>
Cette section de configuration définit une TraceSwitch valeur définie mySwitchDisplayName sur , et la Level valeur 1, qui correspond à la valeur TraceLevel.Errord’énumération .
Note
Vous pouvez également utiliser du texte pour spécifier la valeur d’un commutateur. Par exemple, true pour un BooleanSwitch, ou le texte représentant une valeur d’énumération, comme Error pour un TraceSwitch. La ligne <add name="mySwitch" value="Error" /> est équivalente à <add name="mySwitch" value="1" />.
Dans votre application, vous pouvez utiliser le niveau de commutateur configuré en créant un TraceSwitch nom portant le même nom, comme illustré dans l’exemple suivant :
private static TraceSwitch appSwitch = new TraceSwitch("mySwitch",
"Switch in config file");
public static void Main(string[] args)
{
//...
Console.WriteLine("Trace switch {0} configured as {1}",
appSwitch.DisplayName, appSwitch.Level.ToString());
if (appSwitch.TraceError)
{
//...
}
}
Private Shared appSwitch As new TraceSwitch("mySwitch", _
"Switch in config file")
Public Shared Sub Main(args As String())
'...
Console.WriteLine("Trace switch {0} configured as {1}",
appSwitch.DisplayName, appSwitch.Level.ToString())
If appSwitch.TraceError = True Then
'...
End If
End Sub
Dans les applications .NET Core et .NET 5+, le Level nouveau commutateur est défini par défaut TraceLevel.Offsur .
Dans les applications .NET Framework, la propriété switch Level est définie par défaut sur la valeur spécifiée dans le fichier de configuration. Si le TraceSwitch constructeur ne trouve pas les paramètres de commutateur initial dans le fichier de configuration, Level le nouveau commutateur est défini par défaut TraceLevel.Offsur .
Vous devez activer le suivi ou le débogage pour utiliser un commutateur. La syntaxe suivante 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-y#define DEBUGen 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-y#define TRACEen haut de votre fichier. Dans Visual Basic, ajoutez l’indicateur/d:TRACE=Trueà la ligne de commande du compilateur.
Note
Ces commutateurs de compilateur de débogage et de trace ne sont pas obligatoires lors de l’utilisation de la TraceSwitch classe en isolation. Elles sont uniquement requises conjointement avec ou Debug méthodes Trace compilées de manière conditionnelle.
Pour plus d’informations sur l’instrumentation de votre application, consultez Debug et Trace. Pour plus d’informations sur la configuration et l’utilisation des commutateurs de trace, consultez Commutateurs de trace.
Note
Pour améliorer les performances, vous pouvez créer TraceSwitch des membres static dans votre classe.
Constructeurs
| Nom | Description |
|---|---|
| TraceSwitch(String, String, String) |
Initialise une nouvelle instance de la TraceSwitch classe à l’aide du nom d’affichage, de la description et de la valeur par défaut spécifiés pour le commutateur. |
| TraceSwitch(String, String) |
Initialise une nouvelle instance de la TraceSwitch classe à l’aide du nom complet et de la description spécifiés. |
Propriétés
| Nom | Description |
|---|---|
| Attributes |
Obtient les attributs de commutateur personnalisés définis dans le fichier de configuration de l’application. (Hérité de Switch) |
| DefaultValue |
Obtient la valeur par défaut affectée dans le constructeur. (Hérité de Switch) |
| Description |
Obtient une description du commutateur. (Hérité de Switch) |
| DisplayName |
Obtient un nom utilisé pour identifier le commutateur. (Hérité de Switch) |
| Level |
Obtient ou définit le niveau de trace qui détermine les messages que le commutateur autorise. |
| SwitchSetting |
Obtient ou définit le paramètre actuel pour ce commutateur. (Hérité de Switch) |
| TraceError |
Obtient une valeur indiquant si le commutateur autorise les messages de gestion des erreurs. |
| TraceInfo |
Obtient une valeur indiquant si le commutateur autorise les messages d’information. |
| TraceVerbose |
Obtient une valeur indiquant si le commutateur autorise tous les messages. |
| TraceWarning |
Obtient une valeur indiquant si le commutateur autorise les messages d’avertissement. |
| Value |
Obtient ou définit la valeur du commutateur. (Hérité de Switch) |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetSupportedAttributes() |
Obtient les attributs personnalisés pris en charge par le commutateur. (Hérité de Switch) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| OnSwitchSettingChanged() |
Met à jour et corrige le niveau de ce commutateur. |
| OnValueChanged() |
Définit la SwitchSetting propriété sur l’équivalent entier de la Value propriété. |
| Refresh() |
Actualise les données de configuration de trace. (Hérité de Switch) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |