Aracılığıyla paylaş


TraceSwitch Sınıf

Tanım

Kodunuzu yeniden derlemeden izleme ve hata ayıklama çıktısını kontrol etmek için çok düzeyli bir anahtar sağlar.

public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
    inherit Switch
Public Class TraceSwitch
Inherits Switch
Devralma
TraceSwitch

Örnekler

Aşağıdaki kod örneği yeni TraceSwitch bir oluşturur ve hata iletilerinin yazdırılıp yazdırılmayacağını belirlemek için anahtarını kullanır. Anahtar sınıf düzeyinde oluşturulur. MyMethod özelliği veya daha yüksek olarak ayarlandıysa LevelTraceLevel.Error ilk hata iletisini yazar. Ancak, MyMethod değerinden küçükse LevelTraceLevel.Verboseikinci hata iletisini yazmaz.

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

Açıklamalar

İletileri önemlerine göre filtrelemek için izleme anahtarı kullanabilirsiniz. sınıfı TraceSwitch , anahtarın TraceErrordüzeyini test etmek için , TraceWarning, TraceInfove TraceVerbose özelliklerini sağlar. Level özelliği anahtarını TraceLevelalır veya ayarlar.

Kodunuzda bir TraceSwitch oluşturabilir ve düzeyi doğrudan kodun belirli bir bölümünü izlemesi için ayarlayabilirsiniz.

Yalnızca .NET Framework uygulamalarda, uygulama yapılandırma dosyası aracılığıyla düzeyini TraceSwitch ayarlayabilir ve ardından uygulamanızda yapılandırılan TraceSwitch düzeyi kullanabilirsiniz. Uygulama yapılandırma dosyasında bir anahtar ekleyebilir veya kaldırabilir, anahtarın değerini ayarlayabilir veya uygulama tarafından daha önce ayarlanan tüm anahtarları temizleyebilirsiniz. Yapılandırma dosyası aşağıdaki örnekte olduğu gibi biçimlendirilmelidir:

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

Bu yapılandırma bölümü, sabit listesi değerine TraceLevel.Errorkarşılık gelen , ve Level 1 olarak ayarlanmış bir mySwitchTraceSwitchDisplayName öğesini tanımlar.

Not

Anahtarın değerini belirtmek için metin de kullanabilirsiniz. Örneğin, true bir BooleanSwitchiçin veya numaralandırma değerini temsil eden metin için, örneğin Error için TraceSwitch. Satırı <add name="mySwitch" value="Error" /> ile eşdeğerdir <add name="mySwitch" value="1" />.

Uygulamanızda, aşağıdaki örnekte gösterildiği gibi aynı ada sahip bir TraceSwitch oluşturarak yapılandırılmış anahtar düzeyini kullanabilirsiniz:

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

.NET Core ve .NET 5+ uygulamalarında, Level yeni anahtarın varsayılan değeri olarak TraceLevel.Offayarlanır.

.NET Framework uygulamalarında switch Level özelliği varsayılan olarak yapılandırma dosyasında belirtilen değere ayarlanır. TraceSwitch Oluşturucu yapılandırma dosyasında ilk anahtar ayarlarını bulamazsa, Level yeni anahtarın varsayılan değeri olurTraceLevel.Off.

Anahtar kullanmak için izlemeyi veya hata ayıklamayı etkinleştirmeniz gerekir. Aşağıdaki söz dizimi derleyiciye özgüdür. C# veya Visual Basic dışında derleyiciler kullanıyorsanız, derleyicinizin belgelerine bakın.

  • C# dilinde hata ayıklamayı etkinleştirmek için kodunuzu /d:DEBUG derlerken derleyici komut satırına bayrağını ekleyin veya dosyanızın en üstüne ekleyin #define DEBUG . Visual Basic'te bayrağını /d:DEBUG=True derleyici komut satırına ekleyin.

  • C# dilinde izlemeyi etkinleştirmek için kodunuzu /d:TRACE derlerken derleyici komut satırına bayrağını ekleyin veya dosyanızın en üstüne ekleyin #define TRACE . Visual Basic'te bayrağını /d:TRACE=True derleyici komut satırına ekleyin.

Not

Sınıfı yalıtılırken TraceSwitch bu hata ayıklama ve izleme derleyici anahtarları gerekli değildir. Bunlar yalnızca koşullu olarak derlenen veya Debug yöntemleriyle Trace birlikte gereklidir.

Uygulamanızı izleme hakkında daha fazla bilgi için bkz Debug . ve Trace. İzleme anahtarlarını yapılandırma ve kullanma hakkında daha fazla bilgi için bkz. İzleme Anahtarları.

Not

Performansı geliştirmek için sınıfınızda üye static oluşturabilirsinizTraceSwitch.

Oluşturucular

TraceSwitch(String, String)

Belirtilen görünen adı ve açıklamayı TraceSwitch kullanarak sınıfının yeni bir örneğini başlatır.

TraceSwitch(String, String, String)

Anahtar için belirtilen görünen adı, açıklamayı TraceSwitch ve varsayılan değeri kullanarak sınıfın yeni bir örneğini başlatır.

Özellikler

Attributes

Uygulama yapılandırma dosyasında tanımlanan özel anahtar özniteliklerini alır.

(Devralındığı yer: Switch)
DefaultValue

Oluşturucuda atanan varsayılan değeri alır.

(Devralındığı yer: Switch)
Description

Anahtarın açıklamasını alır.

(Devralındığı yer: Switch)
DisplayName

Anahtarı tanımlamak için kullanılan bir ad alır.

(Devralındığı yer: Switch)
Level

Anahtarın izin verdiği iletileri belirleyen izleme düzeyini alır veya ayarlar.

SwitchSetting

Bu anahtar için geçerli ayarı alır veya ayarlar.

(Devralındığı yer: Switch)
TraceError

Anahtarın hata işleme iletilerine izin verip vermeyeceğini belirten bir değer alır.

TraceInfo

Anahtarın bilgilendirme iletilerine izin verip vermeyeceğini belirten bir değer alır.

TraceVerbose

Anahtarın tüm iletilere izin verip vermeyeceğini belirten bir değer alır.

TraceWarning

Anahtarın uyarı iletilerine izin verip vermeyeceğini belirten bir değer alır.

Value

Anahtarın değerini alır veya ayarlar.

(Devralındığı yer: Switch)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetSupportedAttributes()

Anahtar tarafından desteklenen özel öznitelikleri alır.

(Devralındığı yer: Switch)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnSwitchSettingChanged()

Güncelleştirmeler ve bu anahtarın düzeyini düzeltin.

OnValueChanged()

SwitchSetting özelliğini özelliğin tamsayı eşdeğerine Value ayarlar.

OnValueChanged()

Özellik değiştirildiğinde Value çağrılır.

(Devralındığı yer: Switch)
Refresh()

İzleme yapılandırma verilerini yeniler.

(Devralındığı yer: Switch)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.