Bagikan melalui


Panduan: Mengubah Tempat My.Application.Log Menulis Informasi (Visual Basic)

Anda dapat menggunakan My.Application.Log objek dan My.Log untuk mencatat informasi tentang peristiwa yang terjadi di aplikasi Anda. Panduan ini menunjukkan cara mengganti pengaturan default dan membuat objek Log menulis ke pendengar log lainnya.

Prasyarat

Objek Log dapat menulis informasi ke beberapa pendengar log. Anda perlu menentukan konfigurasi listener log saat ini sebelum mengubah konfigurasi. Untuk informasi selengkapnya, lihat Panduan: Menentukan Di mana My.Application.Log Menulis Informasi.

Anda mungkin ingin meninjau Cara: Menulis Informasi Peristiwa ke File Teks atau Cara: Menulis ke Log Peristiwa Aplikasi.

Untuk menambahkan pendengar acara

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

    - atau -

    Jika tidak 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 bawah bagian <source> dengan name atribut "DefaultSource", di bagian <sources> . Bagian <sources> berada di bagian <system.diagnostics>, di bagian <configuration> tingkat atas.

  3. Tambahkan elemen-elemen ini ke bagian tersebut <listeners> .

    <!-- Uncomment to connect the application file log. -->
    <!-- <add name="FileLog" /> -->
    <!-- Uncomment to connect the event log. -->
    <!-- <add name="EventLog" /> -->
    <!-- Uncomment to connect the event log. -->
    <!-- <add name="Delimited" /> -->
    <!-- Uncomment to connect the XML log. -->
    <!-- <add name="XmlWriter" /> -->
    <!-- Uncomment to connect the console log. -->
    <!-- <add name="Console" /> -->
    
  4. Batalkan komentar pendengar log yang ingin Anda terima Log pesannya.

  5. Temukan bagian <sharedListeners> , di bagian <system.diagnostics> , di bagian tingkat <configuration> atas.

  6. Tambahkan elemen-elemen ini ke bagian tersebut <sharedListeners> .

    <add name="FileLog"
         type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
               Microsoft.VisualBasic, Version=8.0.0.0,
               Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         initializeData="FileLogWriter" />
    <add name="EventLog"
         type="System.Diagnostics.EventLogTraceListener,
               System, Version=2.0.0.0,
               Culture=neutral, PublicKeyToken=b77a5c561934e089"
         initializeData="sample application"/>
    <add name="Delimited"
         type="System.Diagnostics.DelimitedListTraceListener,
               System, Version=2.0.0.0,
               Culture=neutral, PublicKeyToken=b77a5c561934e089"
         initializeData="c:\temp\sampleDelimitedFile.txt"
         traceOutputOptions="DateTime" />
    <add name="XmlWriter"
         type="System.Diagnostics.XmlWriterTraceListener,
               System, Version=2.0.0.0,
               Culture=neutral, PublicKeyToken=b77a5c561934e089"
         initializeData="c:\temp\sampleLogFile.xml" />
    <add name="Console"
         type="System.Diagnostics.ConsoleTraceListener,
               System, Version=2.0.0.0,
               Culture=neutral, PublicKeyToken=b77a5c561934e089"
         initializeData="true" />
    
  7. 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"/>
              <!-- Uncomment to connect the application file log. -->
              <!-- <add name="FileLog" /> -->
              <!-- Uncomment to connect the event log. -->
              <!-- <add name="EventLog" /> -->
              <!-- Uncomment to connect the event log. -->
              <!-- <add name="Delimited" /> -->
              <!-- Uncomment to connect the XML log. -->
              <!-- <add name="XmlWriter" /> -->
              <!-- Uncomment to connect the console log. -->
              <!-- <add name="Console" /> -->
            </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"
               initializeData="FileLogWriter" />
          <add name="EventLog"
               type="System.Diagnostics.EventLogTraceListener,
                     System, Version=2.0.0.0,
                     Culture=neutral, PublicKeyToken=b77a5c561934e089"
               initializeData="sample application"/>
          <add name="Delimited"
               type="System.Diagnostics.DelimitedListTraceListener,
                     System, Version=2.0.0.0,
                     Culture=neutral, PublicKeyToken=b77a5c561934e089"
               initializeData="c:\temp\sampleDelimitedFile.txt"
               traceOutputOptions="DateTime" />
          <add name="XmlWriter"
               type="System.Diagnostics.XmlWriterTraceListener,
                     System, Version=2.0.0.0,
                     Culture=neutral, PublicKeyToken=b77a5c561934e089"
               initializeData="c:\temp\sampleLogFile.xml" />
          <add name="Console"
               type="System.Diagnostics.ConsoleTraceListener,
                     System, Version=2.0.0.0,
                     Culture=neutral, PublicKeyToken=b77a5c561934e089"
               initializeData="true" />
        </sharedListeners>
      </system.diagnostics>
    </configuration>
    

Untuk mengonfigurasi ulang pendengar

  1. Temukan elemen pendengar <add> dari bagian <sharedListeners>.

  2. Atribut type memberikan nama jenis pendengar. Jenis ini harus diwarisi dari TraceListener kelas . Gunakan nama tipe yang telah dibubuhi kuat untuk memastikan penggunaan tipe yang benar. Untuk informasi selengkapnya, lihat bagian "Untuk mereferensikan jenis yang sangat bernama" di bawah ini.

    Beberapa jenis yang dapat Anda gunakan adalah:

    Untuk informasi tentang di mana pendengar log jenis lain menulis informasi, lihat dokumentasi jenis tersebut.

  3. Saat aplikasi membuat objek pendengar log, aplikasi meneruskan initializeData atribut sebagai parameter konstruktor. Arti atribut initializeData bergantung pada pendengar penelusuran.

  4. Setelah membuat pendengar log, aplikasi mengatur properti pendengar. Properti ini didefinisikan oleh atribut lain dalam <add> elemen . Untuk informasi selengkapnya tentang properti untuk pendengar tertentu, lihat dokumentasi untuk jenis pendengar tersebut.

Untuk mengacu pada tipe dengan nama kuat

  1. Untuk memastikan bahwa tipe yang tepat digunakan untuk pendengar log Anda, pastikan untuk menggunakan nama tipe yang sepenuhnya memenuhi syarat dan nama assembly yang memiliki penandaan kuat. Sintaks dari jenis bertanda kuat adalah sebagai berikut:

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

  2. Contoh kode ini menunjukkan cara menentukan nama tipe ber-strong name untuk tipe yang sepenuhnya memenuhi syarat—dalam kasus ini, "System.Diagnostics.FileLogTraceListener".

    Public Sub DisplayStrongName()
        Dim t As Type = GetType(Logging.FileLogTraceListener)
        MsgBox(t.FullName & ", " & t.Assembly.FullName)
    End Sub
    

    Output ini dapat digunakan untuk secara unik mereferensikan tipe bernama kuat, seperti dalam prosedur "Untuk menambahkan pendengar" di atas.

    Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

Lihat juga