İzlenecek Yol: My.Application.Log Günlüğünün Bilgileri Yazdığı Yeri Değiştirme (Visual Basic)

ve nesnelerini kullanarak My.Application.LogMy.Log uygulamanızda gerçekleşen olaylar hakkındaki bilgileri günlüğe kaydedebilirsiniz. Bu izlenecek yol, varsayılan ayarların nasıl geçersiz kılınıp nesnenin Log diğer günlük dinleyicilerine yazmasına neden olduğunu gösterir.

Önkoşullar

Log nesnesi, birkaç günlük dinleyicisine bilgi yazabilir. Yapılandırmaları değiştirmeden önce günlük dinleyicilerinin geçerli yapılandırmasını belirlemeniz gerekir. Daha fazla bilgi için bkz . İzlenecek Yol: My.Application.Log'un Bilgileri Nereye Yazacağı Belirleniyor.

Nasıl yapılır: Olay Bilgilerini Bir Metin Dosyasına Yazma veya Nasıl Yapılır: Uygulama Olay Günlüğüne Yazma'ya göz atanmak isteyebilirsiniz.

Dinleyici eklemek için

  1. Çözüm Gezgini app.config öğesine sağ tıklayın ve Aç'ı seçin.

    - veya -

    App.config dosyası yoksa:

    1. Proje menüsünde Yeni Öğe Ekle'yi seçin.

    2. Yeni Öğe Ekle iletişim kutusunda Uygulama Yapılandırma Dosyası'nı seçin.

    3. Ekle'yi tıklatın.

  2. <listeners> bölümünde "DefaultSource" özniteliğine name sahip bölümün altında <source> bölümünü <sources> bulun. Bölüm <sources><system.diagnostics> , en üst düzey <configuration> bölümde yer alır.

  3. Bu öğeleri bu <listeners> bölüme ekleyin.

    <!-- 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. İleti almak istediğiniz günlük dinleyicilerinin açıklamasını kaldırın Log .

  5. <sharedListeners> En üst düzey <configuration> bölümdeki <system.diagnostics> bölümünü bulun.

  6. Bu öğeleri bu <sharedListeners> bölüme ekleyin.

    <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. app.config dosyasının içeriği aşağıdaki XML'ye benzer olmalıdır:

    <?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>
    

Dinleyiciyi yeniden yapılandırmak için

  1. bölümünden dinleyicinin <add> öğesini <sharedListeners> bulun.

  2. type özniteliği dinleyici türünün adını verir. Bu tür sınıfından devralmalıdır TraceListener . Doğru türün kullanıldığından emin olmak için kesin olarak adlandırılmış tür adını kullanın. Daha fazla bilgi için aşağıdaki "Kesin olarak adlandırılmış bir türe başvurmak için" bölümüne bakın.

    Kullanabileceğiniz bazı türler şunlardır:

    Diğer günlük dinleyicisi türlerinin nereye bilgi yazdığı hakkında bilgi için bu türün belgelerine bakın.

  3. Uygulama günlük dinleyicisi nesnesini oluşturduğunda, özniteliğini initializeData oluşturucu parametresi olarak geçirir. özniteliğinin initializeData anlamı izleme dinleyicisine bağlıdır.

  4. Uygulama, günlük dinleyicisini oluşturduktan sonra dinleyicinin özelliklerini ayarlar. Bu özellikler öğesindeki diğer öznitelikler <add> tarafından tanımlanır. Belirli bir dinleyicinin özellikleri hakkında daha fazla bilgi için söz konusu dinleyici türünün belgelerine bakın.

Kesin olarak adlandırılmış bir türe başvurmak için

  1. Günlük dinleyiciniz için doğru türün kullanıldığından emin olmak için tam tür adını ve tam olarak adlandırılmış derleme adını kullandığınızdan emin olun. Kesin olarak adlandırılmış bir türün söz dizimi aşağıdaki gibidir:

    <tür adı>, <derleme adı>, <sürüm numarası>, <kültür>, <tanımlayıcı ad>

  2. Bu kod örneği, bu örnekte tam olarak adlandırılmış tür adının nasıl belirleneceğini gösterir: "System.Diagnostics.FileLogTraceListener".

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

    Bu çıkıştır ve yukarıdaki "Dinleyici eklemek için" yordamında olduğu gibi kesin olarak adlandırılmış bir türe benzersiz olarak başvurmak için kullanılabilir.

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

Ayrıca bkz.