Provides a multilevel switch to control tracing and debug output without recompiling your code.
Assembly: System (in System.dll)
You can use a trace switch to filter out messages based on their importance. The class provides the TraceError, TraceWarning, TraceInfo, and TraceVerbose properties to test the level of the switch. The Level property gets or sets the switch's TraceLevel.
You can set the level of a through the application configuration file and then use the configured level in your application. Alternately, you can create a in your code and set the level directly to instrument a specific section of code.
To configure a , edit the application configuration file for your 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. The configuration file should be formatted like the following example:
<configuration> <system.diagnostics> <switches> <add name="mySwitch" value="1" /> </switches> </system.diagnostics> </configuration>
In the .NET Framework version 2.0, you can use text to specify the value for a switch. For example, true for a BooleanSwitch or the text representing an enumeration value, such as Error for a . The line <add name="mySwitch" value="Error" /> is equivalent to <add name="mySwitch" value="1" />.
In your application, you can use the configured switch level by creating a with the same name, as shown in the following example:
By default, the switch Level property is set using the value specified in the configuration file. If the TraceSwitch constructor cannot find initial switch settings in the configuration file, the Level of the new switch defaults to TraceLevel.Off.
You must enable tracing or debugging to use a switch. The following syntax is compiler specific. If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.
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. In Visual Basic, add the /d:DEBUG=True flag to the compiler command line.
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. In Visual Basic, add the /d:TRACE=True flag to the compiler command line.
To improve performance, you can make members static in your class.
The following code example creates a new and uses the switch to determine whether to print error messages. The switch is created at the class level. MyMethod writes the first error message if the Level property is set to TraceLevel.Error or higher. However, MyMethod does not write the second error message if the Level is less than TraceLevel.Verbose.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.