Bagikan melalui


Sakelar Penelusuran

Nota

Artikel ini khusus untuk .NET Framework. Ini tidak berlaku untuk implementasi .NET yang lebih baru, termasuk .NET 6 dan versi yang lebih baru.

Sakelar pelacakan memungkinkan Anda mengaktifkan, menonaktifkan, dan memfilter output pelacakan. Mereka adalah objek yang ada dalam kode Anda dan dapat dikonfigurasi secara eksternal melalui file .config. Ada tiga jenis sakelar pelacakan yang disediakan dalam .NET Framework: BooleanSwitch kelas, TraceSwitch kelas, dan SourceSwitch kelas . Kelas BooleanSwitch bertindak sebagai sakelar pengalih, baik mengaktifkan atau menonaktifkan berbagai pernyataan jejak. Kelas TraceSwitch dan SourceSwitch memungkinkan Anda mengaktifkan sakelar pelacakan untuk tingkat pelacakan tertentu sehingga pesan Trace atau TraceSource yang ditentukan untuk tingkat itu dan semua tingkat di bawahnya dapat muncul. Jika Anda menonaktifkan sakelar, pesan pelacakan tidak akan muncul. Semua kelas ini berasal dari kelas abstrak MustInheritSwitch, sebagaimana seharusnya sakelar yang dikembangkan pengguna.

Sakelar pelacakan dapat berguna untuk memfilter informasi. Misalnya, Anda mungkin ingin melihat setiap pesan pelacakan dalam modul akses data, tetapi hanya pesan kesalahan di aplikasi lainnya. Dalam hal ini, Anda akan menggunakan satu sakelar pelacakan untuk modul akses data dan satu sakelar untuk aplikasi lainnya. Dengan menggunakan file .config untuk mengonfigurasi sakelar ke pengaturan yang sesuai, Anda dapat mengontrol jenis pesan pelacakan apa yang Anda terima. Untuk informasi selengkapnya, lihat Cara: Membuat, Menginisialisasi, dan Mengonfigurasi Sakelar Pelacakan.

Biasanya, aplikasi yang disebarkan dijalankan dengan sakelarnya dinonaktifkan, sehingga pengguna tidak perlu mengamati banyak pesan jejak yang tidak relevan muncul di layar atau mengisi file log saat aplikasi berjalan. Jika masalah muncul selama eksekusi aplikasi, Anda dapat menghentikan aplikasi, mengaktifkan sakelar, dan memulai ulang aplikasi. Kemudian pesan pelacakan akan ditampilkan.

Untuk menggunakan sakelar, Anda harus terlebih dahulu membuat objek sakelar dari kelas BooleanSwitch, kelas TraceSwitch, atau kelas sakelar yang ditentukan oleh pengembang. Untuk informasi selengkapnya tentang membuat sakelar yang ditentukan pengembang, lihat kelas Switch dalam referensi .NET Framework. Kemudian Anda mengatur nilai konfigurasi yang menentukan kapan objek pengalihan akan digunakan. Anda kemudian menguji pengaturan objek saklar dalam berbagai metode pelacakan Trace (atau Debug).

Tingkat Pelacakan

Saat Anda menggunakan TraceSwitch, ada pertimbangan tambahan. Objek TraceSwitch memiliki empat properti yang mengembalikan nilai Boolean yang menunjukkan apakah sakelar diatur ke setidaknya tingkat tertentu:

Tingkat memungkinkan Anda membatasi jumlah informasi pelacakan yang Anda terima hanya untuk informasi yang diperlukan untuk menyelesaikan masalah. Anda menentukan tingkat detail yang Anda inginkan dalam output pelacakan dengan mengatur dan mengonfigurasi sakelar pelacakan ke tingkat pelacakan yang sesuai. Anda dapat menerima pesan kesalahan, pesan peringatan, pesan informasi, pesan penelusuran mendetail, atau tidak ada pesan sama sekali.

Sepenuhnya terserah Anda untuk memutuskan jenis pesan apa yang akan dikaitkan dengan setiap tingkatan. Biasanya, konten pesan pelacakan tergantung pada apa yang Anda kaitkan dengan setiap tingkat, tetapi Anda menentukan perbedaan antara tingkat. Anda mungkin ingin memberikan deskripsi terperinci tentang masalah di tingkat 3 (Info), misalnya, tetapi hanya memberikan nomor referensi kesalahan pada tingkat 1 (Kesalahan). Sepenuhnya terserah Anda untuk memutuskan skema apa yang paling sesuai dalam aplikasi Anda.

Properti ini sesuai dengan nilai 1 hingga 4 dari enumerasi TraceLevel . Tabel berikut mencantumkan tingkat enumerasi TraceLevel dan nilainya.

Nilai enumerasi Nilai bilangan bulat Jenis pesan yang ditampilkan (atau ditulis ke target output tertentu)
Nonaktif 0 Tidak ada
Kesalahan 1 Hanya pesan kesalahan
Peringatan 2 Pesan peringatan dan pesan kesalahan
Informasi 3 Pesan informasi, pesan peringatan, dan pesan kesalahan
Verbositas 4 Pesan verbose, pesan informasi, pesan peringatan, dan pesan kesalahan

Properti TraceSwitch menunjukkan tingkat pelacakan maksimum untuk sakelar. Artinya, informasi pelacakan ditulis untuk tingkat yang ditentukan serta untuk semua tingkat yang lebih rendah. Misalnya, jika TraceInfobenar, maka TraceError dan TraceWarning juga benar tetapi TraceVerbose mungkin salah.

Properti ini bersifat baca-saja. Objek TraceSwitch secara otomatis mengaturnya saat properti TraceLevel diatur. Contohnya:

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());

Sakelar Developer-Defined

Selain menyediakan BooleanSwitch dan TraceSwitch, Anda dapat menentukan sakelar Anda sendiri dengan mewarisi dari kelas Switch dan menggantikan fungsi kelas dasar dengan fungsi yang telah disesuaikan. Untuk informasi selengkapnya tentang membuat sakelar yang ditentukan pengembang, lihat kelas Switch dalam referensi .NET Framework.

Lihat juga