Aracılığıyla paylaş


İzlenecek yol: My.Application.Log'un Bilgileri Yazdığı Yeri Değiştirme (Visual Basic)

Uygulamanızda gerçekleşen olaylar hakkındaki bilgileri günlüğe kaydetmek için My.Application.Log ve My.Log nesnelerini kullanabilirsiniz. Bu kılavuz, varsayılan ayarların nasıl değiştirileceğini ve Log nesnesinin diğer günlük dinleyicilerine yazmasını nasıl sağlayacağını gösterir.

Önkoşullar

Log nesnesi, birkaç log 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. Kılavuz: My.Application.Log'un Bilgi Yazdığı Yer.

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 atmak isteyebilirsiniz.

Dinleyicileri eklemek için

  1. Çözüm Gezgini'nde app.config 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 sahip <source> bölümünün altında, name bölümünü içeren <sources> bölümünü bulun. <sources> bölümü, <system.diagnostics> bölümünde, 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. Almak istediğiniz Log mesajları için log dinleyicilerinin yorum işaretini kaldırın.

  5. <sharedListeners> En üst düzey <system.diagnostics> bölümdeki <configuration> 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. Dinleyicinin <add> öğesini <sharedListeners> bölümünden bulun.

  2. type özniteliği dinleyici türünün adını verir. Bu tür TraceListener sınıfından devralmalıdır. 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 dinleyici türlerinin bilgiyi nereye yazdığı hakkında bilgi için, o türün belgelerine bakın.

  3. Uygulama, günlük dinleyicisi nesnesini oluşturduğunda, initializeData özniteliğini oluşturucu parametresi olarak geçirir. initializeData özniteliğinin 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ü kullandığınızdan emin olmak amacıyla, tam nitelikli tür adını ve güçlü 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, "System.Diagnostics.FileLogTraceListener" gibi tam nitelikli bir tür için güçlü adlandırılmış tür adının nasıl belirleneceğini gösterir.

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

    Bu, çıktıdır ve yukarıdaki "Dinleyici eklemek için" yordamında olduğu gibi, kesin bir şekilde 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 bakınız