TraceSwitch.Level 属性

定义

获取或设置跟踪级别,它将确定开关所允许的消息。

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

属性值

值之 TraceLevel 一,指定开关允许的消息级别。

例外

Level 设置为非 TraceLevel 值。

示例

下面的代码示例创建一个新的 TraceSwitch ,并使用 开关确定是否打印错误消息。 开关是在类级别创建的。 MyMethod 如果 Level 属性设置为 TraceLevel.Error 或更高,则写入第一条错误消息。 但是,如果 Level 小于 TraceLevel.VerboseMyMethod则 不会写入第二条错误消息。

   // 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

注解

对于.NET Framework应用,若要设置 的TraceSwitch级别,请编辑与应用程序名称对应的配置文件。 在此文件中,可以添加开关并设置其值、删除开关或清除以前由应用程序设置的所有开关。 配置文件的格式应如以下示例所示:

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="0" />  
      <add name="myNewSwitch" value="3" />  
      <remove name="mySwitch" />  
      <clear/>  
    </switches>  
  </system.diagnostics>  
</configuration>  

还可以使用文本来指定开关的值。 例如, true 对于 BooleanSwitch 或表示枚举值的文本,例如 Error ,对于 TraceSwitch。 行 <add name="mySwitch" value="Error" /> 等于 <add name="mySwitch" value="1" />

属性的 Level 默认值为 TraceLevel.Off。 或者,对于.NET Framework应用,从配置文件获取级别(如果可用)。

设置此属性会 TraceError更新 、 TraceWarningTraceInfoTraceVerbose 属性以反映新值。

适用于

另请参阅