Bagikan melalui


Panduan: Membuat Pendengar Log Kustom (Visual Basic)

Panduan ini menunjukkan cara membuat pendengar log kustom dan mengonfigurasinya untuk mendengarkan output My.Application.Log objek.

Memulai Langkah Awal

Pendengar log harus mewarisi kelas dari TraceListener.

Untuk membuat pendengar

  • Dalam aplikasi Anda, buat kelas bernama SimpleListener yang mewarisi dari TraceListener.

    Public Class SimpleListener
        Inherits System.Diagnostics.TraceListener
    
        <Security.Permissions.HostProtection(Synchronization:=True)>
        Public Overloads Overrides Sub Write(ByVal message As String)
            MsgBox("Write: " & message)
        End Sub
    
        <Security.Permissions.HostProtection(Synchronization:=True)>
        Public Overloads Overrides Sub WriteLine(ByVal message As String)
            MsgBox("WriteLine: " & message)
        End Sub
    End Class
    

    Metode Write dan WriteLine, yang diperlukan oleh kelas dasar, memanggil MsgBox untuk menampilkan masukan mereka.

    Atribut HostProtectionAttribute diterapkan ke Write metode dan WriteLine sehingga atributnya cocok dengan metode kelas dasar. Atribut HostProtectionAttribute ini memungkinkan host yang menjalankan kode untuk menentukan bahwa kode mengekspos sinkronisasi perlindungan host.

    Nota

    Atribut HostProtectionAttribute ini hanya efektif pada aplikasi yang tidak dikelola yang menghosting runtime bahasa umum dan yang menerapkan perlindungan host, seperti SQL Server.

Untuk memastikan bahwa My.Application.Log menggunakan pendengar log, Anda harus memberi nama perakitan yang berisi pendengar log Anda dengan kuat.

Prosedur berikut menyediakan beberapa langkah sederhana untuk membuat rakitan pendengar log-listener dengan nama kuat. Untuk informasi selengkapnya, lihat Membuat dan Menggunakan Rakitan dengan Nama yang Kuat.

Untuk memberi nama kuat pada assembly pendengar log

  1. Pilih proyek di Penjelajah Solusi. Pada menu Proyek , pilih Properti.

  2. Klik tab Penandatanganan.

  3. Pilih kotak Tanda tangani rakitan .

  4. Pilih <Baru> dari daftar drop-down Pilih file kunci nama yang kuat .

    Kotak dialog Buat Kunci Nama Kuat terbuka.

  5. Berikan nama untuk file kunci dalam kotak Nama file kunci.

  6. Masukkan kata sandi dalam kotak Masukkan kata sandi dan Konfirmasi kata sandi .

  7. Klik OK.

  8. Membangun kembali aplikasi.

Menambahkan Listener

Sekarang karena assembly memiliki nama yang kuat, Anda perlu menentukan nama kuat dari pendengar sehingga My.Application.Log dapat menggunakan pendengar log Anda.

Format jenis bertanda nama kuat adalah sebagai berikut.

<nama tipe>, <nama assembly>, <nomor versi>, <budaya>, <nama kuat>

Untuk menentukan nama pendengar yang kuat

  • Kode berikut menunjukkan cara menentukan nama tipe yang memiliki nama kuat untuk SimpleListener.

    Public Sub DisplaySimpleListenerStrongName()
        Dim t As Type = GetType(SimpleListener)
        MsgBox(t.FullName & ", " & t.Assembly.FullName)
    End Sub
    

    Nama kuat dari tipe tersebut bergantung pada proyek Anda.

Dengan nama yang kuat, Anda dapat menambahkan pendengar ke My.Application.Log koleksi pendengar log.

Untuk menambahkan pendengar ke My.Application.Log

  1. Klik kanan pada app.config di Penjelajah Solusi dan pilih Buka.

    -atau-

    Jika ada file app.config:

    1. Pada menu Proyek , pilih Tambahkan Item Baru.

    2. Dari kotak dialog Tambahkan Item Baru , pilih File Konfigurasi Aplikasi.

    3. Klik Tambahkan.

  2. Temukan bagian <listeners>, di bagian <source> yang memiliki atribut name "DefaultSource", terletak di bagian <sources>. Bagian <sources> ini terletak di bagian <system.diagnostics> , di bagian tingkat <configuration> atas.

  3. Tambahkan elemen ini ke bagian <listeners> :

    <add name="SimpleLog" />
    
  4. Temukan bagian <sharedListeners> , di bagian <system.diagnostics> , di bagian tingkat <configuration> atas.

  5. Tambahkan elemen ini ke bagian tersebut <sharedListeners> :

    <add name="SimpleLog" type="SimpleLogStrongName" />
    

    Ubah nilai SimpleLogStrongName menjadi nama kuat pendengar.

Lihat juga