TraceSwitch.Level Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the trace level that determines the messages the switch allows.
public:
property System::Diagnostics::TraceLevel Level { System::Diagnostics::TraceLevel get(); void set(System::Diagnostics::TraceLevel value); };
public System.Diagnostics.TraceLevel Level { get; set; }
member this.Level : System.Diagnostics.TraceLevel with get, set
Public Property Level As TraceLevel
Property Value
One of the TraceLevel values that specifies the level of messages that are allowed by the switch.
Exceptions
Level is set to a value that is not one of the TraceLevel values.
Examples
The following code example creates a new TraceSwitch 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.
// Class-level declaration.
/* Create a TraceSwitch to use in the entire application.*/
private:
static TraceSwitch^ mySwitch = gcnew TraceSwitch( "mySwitch","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("mySwitch", "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("mySwitch", "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
Remarks
For .NET Framework apps, to set the level of your TraceSwitch, edit the configuration file that corresponds to the name of your application. In this file, you can add a switch and set its value, remove a switch, 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="0" />
<add name="myNewSwitch" value="3" />
<remove name="mySwitch" />
<clear/>
</switches>
</system.diagnostics>
</configuration>
You can also 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 TraceSwitch. The line <add name="mySwitch" value="Error" />
is equivalent to <add name="mySwitch" value="1" />
.
The default value of the Level property is TraceLevel.Off. Or, for .NET Framework apps, the level is obtained from the configuration file, if available.
Setting this property updates the TraceError, TraceWarning, TraceInfo, and TraceVerbose properties to reflect the new value.