Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan ini menunjukkan cara mengubah pemfilteran log default untuk My.Application.Log objek, untuk mengontrol informasi apa yang diteruskan dari Log objek ke pendengar dan informasi apa yang ditulis oleh pendengar. Anda dapat mengubah perilaku pengelogan bahkan setelah membangun aplikasi, karena informasi konfigurasi disimpan dalam file konfigurasi aplikasi.
Memulai Langkah Awal
Setiap pesan yang ditulis oleh My.Application.Log memiliki tingkat keparahan yang terkait, yang digunakan oleh mekanisme pemfilteran untuk mengontrol output log. Aplikasi sampel ini menggunakan My.Application.Log metode untuk menulis beberapa pesan log dengan tingkat keparahan yang berbeda.
Untuk membangun aplikasi sampel
Buka proyek Aplikasi Windows Visual Basic baru.
Tambahkan tombol bernama Button1 ke Form1.
Di penanganan Click aktivitas untuk Button1, tambahkan kode berikut:
' Activity tracing information My.Application.Log.WriteEntry("Entering Button1_Click", TraceEventType.Start) ' Tracing information My.Application.Log.WriteEntry("In Button1_Click", TraceEventType.Information) ' Create an exception to log. Dim ex As New ApplicationException ' Exception information My.Application.Log.WriteException(ex) ' Activity tracing information My.Application.Log.WriteEntry("Leaving Button1_Click", TraceEventType.Stop)Jalankan aplikasi di debugger.
Tekan Tombol1.
Aplikasi menulis informasi berikut ke output debug aplikasi dan file log.
DefaultSource Information: 0 : In Button1_ClickDefaultSource Error: 2 : Error in the application.Tutup aplikasi.
Untuk informasi tentang cara melihat jendela output debug aplikasi, lihat Jendela Output. Untuk informasi tentang lokasi file log aplikasi, lihat Panduan: Menentukan Di mana My.Application.Log Menulis Informasi.
Nota
Secara default, aplikasi menghapus output file log saat aplikasi ditutup.
Dalam contoh di atas, panggilan kedua ke WriteEntry metode dan panggilan ke WriteException metode menghasilkan output log, sementara panggilan pertama dan terakhir ke
WriteEntrymetode tidak. Ini karena tingkat keparahanWriteEntrydanWriteExceptionadalah "Informasi" dan "Kesalahan", yang keduanya diizinkan oleh pemfilteran default log objekMy.Application.Log. Namun, peristiwa dengan tingkat keparahan "Mulai" dan "Hentikan" tidak menghasilkan output log.
Pemfilteran untuk Semua Pendengar Log Aplikasi Saya
Objek My.Application.Log menggunakan SourceSwitch bernama DefaultSwitch untuk mengontrol pesan mana yang diteruskannya dari metode WriteEntry dan WriteException ke pendengar catatan log. Anda dapat mengonfigurasi DefaultSwitch dalam file konfigurasi aplikasi dengan mengatur nilainya ke salah SourceLevels satu nilai enumerasi. Secara default, nilainya adalah "Informasi".
Tabel ini memperlihatkan tingkat keparahan yang dibutuhkan untuk Log menulis pesan kepada pendengar, berdasarkan pengaturan tertentu DefaultSwitch.
| Nilai DefaultSwitch | Tingkat keparahan pesan yang diperlukan untuk output |
|---|---|
Critical |
Critical |
Error |
Critical atau Error |
Warning |
Critical, Error, atau Warning |
Information |
Critical, Error, Warning, atau Information |
Verbose |
Critical, Error, Warning, Information, atau Verbose |
ActivityTracing |
Start, Stop, Suspend, Resume, atau Transfer |
All |
Semua pesan diperbolehkan. |
Off |
Semua pesan diblokir. |
Nota
Metode WriteEntry dan WriteException masing-masing memiliki kelebihan beban yang tidak menentukan tingkat keparahan. Tingkat keparahan implisit untuk WriteEntry kelebihan beban adalah "Informasi", dan tingkat keparahan implisit untuk WriteException kelebihan beban adalah "Kesalahan".
Tabel ini menjelaskan output log yang ditampilkan dalam contoh sebelumnya: dengan pengaturan default DefaultSwitch "Informasi", hanya panggilan kedua ke WriteEntry metode dan panggilan ke WriteException metode menghasilkan output log.
Untuk mencatat peristiwa pelacakan aktivitas saja
Klik kanan app.config di Penjelajah Solusi dan pilih Buka.
-atau-
Jika tidak ada file app.config:
Pada menu Proyek , pilih Tambahkan Item Baru.
Dari kotak dialog Tambahkan Item Baru , pilih File Konfigurasi Aplikasi.
Klik Tambahkan.
Temukan bagian
<switches>, yang ada di bagian<system.diagnostics>, yang berada di bagian tingkat<configuration>atas.Temukan elemen yang menambahkan
DefaultSwitchke kumpulan sakelar. Ini akan terlihat mirip dengan elemen ini:<add name="DefaultSwitch" value="Information" />Ubah nilai atribut menjadi
value"ActivityTracing".Konten file app.config harus mirip dengan XML berikut:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="ActivityTracing" /> </switches> <sharedListeners> <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/> </sharedListeners> </system.diagnostics> </configuration>Jalankan aplikasi di debugger.
Tekan Tombol1.
Aplikasi menulis informasi berikut ke output debug aplikasi dan file log:
DefaultSource Start: 4 : Entering Button1_ClickDefaultSource Stop: 5 : Leaving Button1_ClickTutup aplikasi.
Ubah nilai
valueatribut kembali ke "Informasi".Nota
Pengaturan saklar
DefaultSwitchhanya mengontrolMy.Application.Log. Ini tidak mengubah perilaku .NET System.Diagnostics.Trace dan System.Diagnostics.Debug kelas.
Pemfilteran Individu untuk My.Application.Log Listeners
Contoh sebelumnya menunjukkan cara mengubah pemfilteran untuk semua My.Application.Log output. Contoh ini menunjukkan cara memfilter pendengar log individual. Secara default, aplikasi memiliki dua listener yang menulis ke output debug aplikasi dan file log.
File konfigurasi mengontrol perilaku pendengar log dengan mengizinkan setiap pendengar memiliki filter, yang berfungsi mirip dengan sakelar untuk My.Application.Log. Pendengar pencatatan akan mengeluarkan pesan hanya jika tingkat keparahan pesan diizinkan oleh baik filter log DefaultSwitch maupun filter pendengar pencatatan.
Contoh ini menunjukkan cara mengonfigurasi pemfilteran untuk pendengar debug baru dan menambahkannya ke Log objek. Pendengar debug default harus dihapus dari Log objek, sehingga jelas bahwa pesan debug berasal dari pendengar debug baru.
Untuk mencatat peristiwa pelacakan aktivitas saja
Klik kanan app.config di Penjelajah Solusi dan pilih Buka.
-atau-
Jika tidak ada file app.config:
Pada menu Proyek , pilih Tambahkan Item Baru.
Dari kotak dialog Tambahkan Item Baru , pilih File Konfigurasi Aplikasi.
Klik Tambahkan.
Klik kanan app.config di Solution Explorer. Pilih Buka.
Temukan bagian
<listeners>, di bagian<source>dengannameatribut "DefaultSource", yang berada di bawah bagian<sources>. Bagian<sources>berada di bawah bagian<system.diagnostics>, di bagian tingkat<configuration>atas.Tambahkan elemen ini ke bagian
<listeners>:<!-- Remove the default debug listener. --> <remove name="Default"/> <!-- Add a filterable debug listener. --> <add name="NewDefault"/>Temukan bagian
<sharedListeners>, di bagian<system.diagnostics>, di bagian tingkat<configuration>atas.Tambahkan elemen ini ke bagian tersebut
<sharedListeners>:<add name="NewDefault" type="System.Diagnostics.DefaultTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" /> </add>EventTypeFilter Filter mengambil salah SourceLevels satu nilai enumerasi sebagai atributnya
initializeData.Konten file app.config harus mirip dengan XML berikut:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!-- Remove the default debug listener. --> <remove name="Default"/> <!-- Add a filterable debug listener. --> <add name="NewDefault"/> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="Information" /> </switches> <sharedListeners> <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/> <add name="NewDefault" type="System.Diagnostics.DefaultTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" /> </add> </sharedListeners> </system.diagnostics> </configuration>Jalankan aplikasi di debugger.
Tekan Tombol1.
Aplikasi menulis informasi berikut ke file log aplikasi:
Default Information: 0 : In Button1_ClickDefault Error: 2 : Error in the application.Aplikasi menulis lebih sedikit informasi ke output debug aplikasi karena pemfilteran yang lebih ketat.
Default Error 2 ErrorTutup aplikasi.
Untuk informasi selengkapnya tentang mengubah pengaturan log setelah penyebaran, lihat Bekerja dengan Log Aplikasi.