Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.
İzleme anahtarları, izleme çıkışını etkinleştirmenize, devre dışı bırakmanıza ve filtrelemenize olanak tanır. Bunlar, kodunuzda bulunan ve .config dosyası aracılığıyla harici olarak yapılandırılabilir nesnelerdir. .NET Framework'te sağlanan üç tür izleme anahtarı vardır: BooleanSwitch sınıfı, TraceSwitch sınıfı ve SourceSwitch sınıfı. BooleanSwitch sınıfı, çeşitli izleme deyimlerini etkinleştirerek veya devre dışı bırakarak geçiş anahtarı işlevi görür. TraceSwitch ve SourceSwitch sınıfları, belirli bir izleme seviyesini etkinleştirmenizi sağlar, böylece Trace veya TraceSource iletileri, bu seviye ve altındaki tüm seviyelerde görünür hale gelir. Anahtarı devre dışı bırakırsanız izleme iletileri görünmez. Tüm bu sınıflar, tıpkı kullanıcı tarafından geliştirilen anahtarlar gibi, soyut MustInherit sınıfı Switch'ten türetilmelidir.
İzleme anahtarları, bilgileri filtrelemek için yararlı olabilir. Örneğin, bir veri erişim modülündeki her izleme iletisini görmek isteyebilirsiniz, ancak yalnızca uygulamanın geri kalanındaki hata iletilerini görebilirsiniz. Bu durumda, veri erişim modülü için bir izleme anahtarı ve uygulamanın geri kalanı için bir anahtar kullanabilirsiniz. anahtarları uygun ayarlara yapılandırmak için .config dosyasını kullanarak, aldığınız izleme iletisi türlerini denetleyebilirsiniz. Daha fazla bilgi için Nasıl Yapılır: İzleme Anahtarları Oluşturma, Başlatma ve Yapılandırma bölümüne bakın.
Genellikle, dağıtılan bir uygulama, ayarları kapalı olarak çalıştırılır, böylece kullanıcıların ekranda çok fazla ilgisiz günlük mesajı görmesine veya uygulama çalışırken bir günlük dosyasını doldurmasına gerek kalmaz. Uygulama yürütme sırasında bir sorun oluşursa uygulamayı durdurabilir, anahtarları etkinleştirebilir ve uygulamayı yeniden başlatabilirsiniz. Ardından izleme iletileri görüntülenir.
Anahtarı kullanmak için önce BooleanSwitch sınıfından, TraceSwitch sınıfından veya geliştirici tanımlı anahtar sınıfından bir anahtar nesnesi oluşturmanız gerekir. Geliştirici tanımlı anahtarlar oluşturma hakkında daha fazla bilgi için .NET Framework referansındaki Switch sınıfına bakın. Ardından switch nesnesinin ne zaman kullanılacağını belirten bir yapılandırma değeri ayarlarsınız. Ardından switch nesnesinin ayarını çeşitli İzleme (veya Hata Ayıklama) izleme yöntemlerinde test edebilirsiniz.
İzleme Düzeyleri
TraceSwitch kullanırken dikkat edilmesi gereken ek noktalar vardır. TraceSwitch nesnesi, anahtarın en az belirli bir düzeye ayarlanmış olup olmadığını belirten Boole değerleri döndüren dört özelliğe sahiptir.
Düzeyler, aldığınız izleme bilgilerinin miktarını yalnızca sorunu çözmek için gereken bilgilerle sınırlamanıza olanak sağlar. İzleme anahtarlarını uygun izleme düzeyine ayarlayarak ve yapılandırarak izleme çıkışınızda istediğiniz ayrıntı düzeyini belirtirsiniz. Hata iletileri, uyarı iletileri, bilgilendirme iletileri, ayrıntılı izleme iletileri alabilir veya hiç ileti almazsınız.
Her düzeyle ne tür bir ileti ilişkilendireceğine karar vermek tamamen size kalmış. Genellikle, izleme iletilerinin içeriği her düzeyle ne ilişkilendirdiğinize bağlıdır, ancak düzeyler arasındaki farkları siz belirlersiniz. Örneğin, 3. düzeydeki bir sorunun ayrıntılı açıklamalarını (Bilgi) sağlamak isteyebilirsiniz, ancak yalnızca 1. düzeyde hata başvuru numarası (Hata) sağlayabilirsiniz. Hangi düzenin uygulamanızda en iyi şekilde çalışacağına karar vermek tamamen size kalmış.
Bu özellikler TraceLevel sabit listesi 1 ile 4 arasında değerlere karşılık gelir. Aşağıdaki tablo, TraceLevel numaralandırmasının düzeylerini ve bunların değerlerini listelemektedir.
| Numaralandırılmış değer | Tamsayı değeri | Görüntülenen iletinin türü (veya belirtilen çıkış hedefine yazılmış) |
|---|---|---|
| Kapalı | 0 | Hiç kimse |
| Hata | 1 | Yalnızca hata iletileri |
| Uyarı | 2 | Uyarı iletileri ve hata iletileri |
| Bilgi | 3 | Bilgilendiren iletiler, uyarı iletileri ve hata iletileri |
| Ağır dilli | 4 | Ayrıntılı iletiler, bilgilendirme iletileri, uyarı iletileri ve hata iletileri |
TraceSwitch özellikleri, anahtar için en yüksek izleme düzeyini gösterir. Diğer bir ifadeyle, izleme bilgileri hem belirtilen düzey hem de tüm alt düzeyler için yazılır. Örneğin TraceInfotrue ise TraceError ve TraceWarning de true olur ancak TraceVerboseyanlış olabilir.
Bu özellikler salt okunur. TraceLevel özelliği ayarlandığında TraceSwitch nesnesi bunları otomatik olarak ayarlar. Örneğin:
Dim myTraceSwitch As New TraceSwitch("SwitchOne", "The first switch")
myTraceSwitch.Level = TraceLevel.Info
' This message box displays true, because setting the level to
' TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(myTraceSwitch.TraceWarning.ToString())
' This messagebox displays false.
MessageBox.Show(myTraceSwitch.TraceVerbose.ToString())
System.Diagnostics.TraceSwitch myTraceSwitch =
new System.Diagnostics.TraceSwitch("SwitchOne", "The first switch");
myTraceSwitch.Level = System.Diagnostics.TraceLevel.Info;
// This message box displays true, because setting the level to
// TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(myTraceSwitch.TraceWarning.ToString());
// This message box displays false.
MessageBox.Show(myTraceSwitch.TraceVerbose.ToString());
Developer-Defined Anahtarları
BooleanSwitch ve TraceSwitch sağlamanın yanı sıra, Switch sınıfından devralarak ve özelleştirilmiş yöntemlerle temel sınıf yöntemlerini geçersiz kılarak kendi anahtarlarınızı tanımlayabilirsiniz. Geliştirici tanımlı anahtarlar oluşturma hakkında daha fazla bilgi için .NET Framework referansındaki Switch sınıfına bakın.