TraceSwitch Classe

Définition

Fournit un commutateur à plusieurs niveaux pour contrôler la sortie de traçage et de débogage sans recompiler votre code.Provides a multilevel switch to control tracing and debug output without recompiling your 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
TraceSwitch

Exemples

L’exemple de code suivant crée un nouveau TraceSwitch et utilise le commutateur pour déterminer s’il faut imprimer les messages d’erreur.The following code example creates a new TraceSwitch and uses the switch to determine whether to print error messages. Le commutateur est créé au niveau de la classe.The switch is created at the class level. MyMethod écrit le premier message d’erreur si la Level propriété a la valeur TraceLevel.Error ou une valeur supérieure.MyMethod writes the first error message if the Level property is set to TraceLevel.Error or higher. Toutefois, MyMethod n’écrit pas le deuxième message d’erreur si Level est inférieur à TraceLevel.Verbose .However, MyMethod does not write the second error message if the Level is less than TraceLevel.Verbose.

   // Class-level declaration.
   /* Create a TraceSwitch to use in the entire application.*/
private:
   static TraceSwitch^ mySwitch = gcnew TraceSwitch( "General", "Entire Application" );

public:
   static 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." );
   }

   static void main()
   {
      // 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.*/
 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.You can use a trace switch to filter out messages based on their importance. La TraceSwitch classe fournit les TraceError TraceWarning Propriétés,, TraceInfo et TraceVerbose pour tester le niveau du commutateur.The TraceSwitch class provides the TraceError, TraceWarning, TraceInfo, and TraceVerbose properties to test the level of the switch. La Level propriété obtient ou définit le du commutateur TraceLevel .The Level property gets or sets the switch's TraceLevel.

Vous pouvez définir le niveau d’un TraceSwitch à l’aide du fichier de configuration de l’application, puis utiliser le TraceSwitch niveau configuré dans votre application.You can set the level of a TraceSwitch through the application configuration file and then use the configured TraceSwitch level in your application. Vous pouvez également créer un TraceSwitch dans votre code et définir le niveau directement pour instrumenter une section de code spécifique.Alternately, you can create a TraceSwitch in your code and set the level directly to instrument a specific section of code.

Pour configurer un TraceSwitch , modifiez le fichier de configuration de votre application.To configure a TraceSwitch, edit the configuration file for your application. Dans ce fichier, 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.In this file, you can add or remove a switch, set a switch's value, or clear all the switches previously set by the application. Le fichier de configuration doit être mis en forme comme dans l’exemple suivant :The configuration file should be formatted like the following example:

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="1" />  
    </switches>  
  </system.diagnostics>  
</configuration>  

Cette section de configuration définit un TraceSwitch avec la valeur DisplayName mySwitch , et la valeur Level 1, qui correspond à la valeur d’énumération TraceLevel.Error .This configuration section defines a TraceSwitch with the DisplayName set to mySwitch, and the Level set to 1, which corresponds to the enumeration value TraceLevel.Error.

Notes

Dans .NET Framework 2.0, vous pouvez spécifier la valeur d'un commutateur avec du texte.In the .NET Framework version 2.0, you can use text to specify the value for a switch. Par exemple, true pour un BooleanSwitch ou le texte représentant une valeur d’énumération, par exemple Error pour un TraceSwitch .For example, true for a BooleanSwitch or the text representing an enumeration value, such as Error for a TraceSwitch. La ligne <add name="mySwitch" value="Error" /> équivaut à <add name="mySwitch" value="1" />.The line <add name="mySwitch" value="Error" /> is equivalent to <add name="mySwitch" value="1" />.

Dans votre application, vous pouvez utiliser le niveau de commutateur configuré en créant un TraceSwitch portant le même nom, comme indiqué dans l’exemple suivant :In your application, you can use the configured switch level by creating a TraceSwitch with the same name, as shown in the following example:

private:
    static TraceSwitch^ appSwitch = gcnew TraceSwitch("mySwitch",
        "Switch in config file");

public:
    static void Main(array<String^>^ args)
    {
        //...
        Console::WriteLine("Trace switch {0} configured as {1}",
        appSwitch->DisplayName, appSwitch->Level.ToString());
        if (appSwitch->TraceError)
        {
            //...
        }
    }
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

Par défaut, la Level propriété Switch est définie à l’aide de la valeur spécifiée dans le fichier de configuration.By default, the switch Level property is set using the value specified in the configuration file. Si le TraceSwitch constructeur ne parvient pas à trouver les paramètres de commutateur initiaux dans le fichier de configuration, la Level valeur par défaut du nouveau commutateur est TraceLevel.Off .If the TraceSwitch constructor cannot find initial switch settings in the configuration file, the Level of the new switch defaults to TraceLevel.Off.

Vous devez activer le traçage ou le débogage pour utiliser un commutateur.You must enable tracing or debugging to use a switch. La syntaxe suivante est spécifique au compilateur.The following syntax is compiler specific. Si vous utilisez des compilateurs autres que C# ou Visual Basic, reportez-vous à la documentation de votre compilateur.If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.

  • Pour activer le débogage en C#, ajoutez l' /d:DEBUG indicateur à la ligne de commande du compilateur lors de la compilation de votre code, ou ajoutez-le #define DEBUG au début de votre fichier.To enable debugging in C#, add the /d:DEBUG flag to the compiler command line when you compile your code, or add #define DEBUG to the top of your file. Dans Visual Basic, ajoutez l' /d:DEBUG=True indicateur à la ligne de commande du compilateur.In Visual Basic, add the /d:DEBUG=True flag to the compiler command line.

  • Pour activer le traçage en C#, ajoutez l' /d:TRACE indicateur à la ligne de commande du compilateur lors de la compilation de votre code, ou ajoutez-le #define TRACE au début de votre fichier.To enable tracing in C#, add the /d:TRACE flag to the compiler command line when you compile your code, or add #define TRACE to the top of your file. Dans Visual Basic, ajoutez l' /d:TRACE=True indicateur à la ligne de commande du compilateur.In Visual Basic, add the /d:TRACE=True flag to the compiler command line.

Notes

Ces commutateurs du compilateur de débogage et de suivi ne sont pas nécessaires lors de l’utilisation TraceSwitch de la classe de manière isolée.These debug and trace compiler switches are not required when using the TraceSwitch class in isolation. Elles sont uniquement requises conjointement avec les Trace Debug méthodes ou qui sont compilées de manière conditionnelle.They are only required in conjunction with Trace or Debug methods that are conditionally compiled.

Pour plus d’informations sur l’instrumentation de votre application, consultez Debug et Trace .For more information on instrumenting your application, see Debug and Trace. Pour plus d’informations sur la configuration et l’utilisation des commutateurs de trace, consultez commutateurs de suivi.For more information about configuring and using trace switches, see Trace Switches.

Notes

Pour améliorer les performances, vous pouvez TraceSwitch faire static des membres dans votre classe.To improve performance, you can make TraceSwitch members static in your class.

Constructeurs

TraceSwitch(String, String)

Initialise une nouvelle instance de la classe TraceSwitch à l'aide du nom complet et de la description spécifiés.Initializes a new instance of the TraceSwitch class, using the specified display name and description.

TraceSwitch(String, String, String)

Initialise une nouvelle instance de la classe TraceSwitch, à l'aide du nom complet, de la description et de la valeur par défaut spécifiés pour le commutateur.Initializes a new instance of the TraceSwitch class, using the specified display name, description, and default value for the switch.

Propriétés

Attributes

Obtient les attributs de commutateur personnalisés définis dans le fichier de configuration de l'application.Gets the custom switch attributes defined in the application configuration file.

(Hérité de Switch)
Description

Obtient une description du commutateur.Gets a description of the switch.

(Hérité de Switch)
DisplayName

Obtient un nom utilisé pour identifier le commutateur.Gets a name used to identify the switch.

(Hérité de Switch)
Level

Obtient ou définit le niveau de trace qui détermine les messages que le commutateur autorise.Gets or sets the trace level that determines the messages the switch allows.

SwitchSetting

Obtient ou définit le paramètre en cours pour ce commutateur.Gets or sets the current setting for this switch.

(Hérité de Switch)
TraceError

Obtient une valeur qui indique si le commutateur autorise des messages de gestion des erreurs.Gets a value indicating whether the switch allows error-handling messages.

TraceInfo

Obtient une valeur qui indique si le commutateur autorise des messages d'information.Gets a value indicating whether the switch allows informational messages.

TraceVerbose

Obtient une valeur qui indique si le commutateur autorise tous les messages.Gets a value indicating whether the switch allows all messages.

TraceWarning

Obtient une valeur qui indique si le commutateur autorise les messages d'avertissement.Gets a value indicating whether the switch allows warning messages.

Value

Obtient ou définit la valeur du commutateur.Gets or sets the value of the switch.

(Hérité de Switch)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetSupportedAttributes()

Obtient les attributs personnalisés pris en charge par le commutateur.Gets the custom attributes supported by the switch.

(Hérité de Switch)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
OnSwitchSettingChanged()

Met à jour et corrige le niveau de ce commutateur.Updates and corrects the level for this switch.

OnValueChanged()

Affecte l'entier équivalent de la propriété SwitchSetting à la propriété Value.Sets the SwitchSetting property to the integer equivalent of the Value property.

OnValueChanged()

Appelé lorsque la propriété Value a été modifiée.Invoked when the Value property is changed.

(Hérité de Switch)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

S’applique à

Voir aussi