TraceSwitch Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Ö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 mySwitch
TraceSwitchDisplayName öğ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) |