Bagikan melalui


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

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

Prasyarat

Objek Log dapat menulis informasi ke beberapa listener log. Anda perlu menentukan konfigurasi listener log saat ini sebelum mengubah konfigurasi. Untuk informasi selengkapnya, lihat Panduan: Mengubah Tempat 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

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

    - atau -

    Jika tidak ada file app.config:

    1. Pada menu Proyek, klik Tambahkan Item Baru.

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

    3. Klik Tambahkan.

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

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

    <!-- 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. Hapus komentar pendengar log yang ingin Anda terima pesannya Log.

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

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

    <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 <add> pendengar dari bagian <sharedListeners>.

  2. Atribut type memberikan nama jenis pendengar. Jenis ini harus diwarisi dari kelas TraceListener. Gunakan nama jenis yang dinamai dengan kuat untuk memastikan bahwa digunakan jenis yang tepat. Untuk informasi selengkapnya, lihat bagian "Untuk mereferensikan jenis yang dinamai dengan kuat" di bawah ini.

    Beberapa jenis yang dapat Anda gunakan adalah:

    Untuk informasi tentang di mana jenis informasi tulis listener log lainnya, lihat dokumentasi jenis tersebut.

  3. Ketika aplikasi membuat objek pendengar-log, aplikasi meneruskan atribut initializeData sebagai parameter konstruktor. Arti atribut initializeData tergantung pada pendengar jejak.

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

Untuk mereferensikan jenis yang dinamai dengan kuat

  1. Untuk memastikan bahwa jenis yang tepat digunakan untuk pendengar log Anda, pastikan untuk menggunakan nama jenis yang sepenuhnya memenuhi syarat dan nama rakitan yang dinamai dengan kuat. Sintaks dari jenis yang dinamai dengan kuat adalah sebagai berikut:

    <nama jenis>, <nama rakitan>, <nomor versi>, <budaya>, <nama kuat>

  2. Contoh kode ini menunjukkan cara menentukan nama jenis yang sangat dinamai untuk jenis yang sepenuhnya memenuhi syarat—"System.Diagnostics.FileLogTraceListener" dalam hal ini.

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

    Ini adalah outputnya, dan dapat digunakan untuk secara unik mereferensikan jenis 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