Aracılığıyla paylaş


İzlenecek yol: (Visual Basic) My.Application.Log çıktı süzme

Bu izlenecek yol için filtreleme varsayılan günlük değiştirmek gösterilmiştir My.Application.Log hangi bilgileri geçirilen denetlemek için nesne, Log nesnesine dinleyici ve hangi bilgilerin dinleyicileri tarafından yazılır.Yapılandırma bilgileri uygulamanın yapılandırma dosyasında saklandığından bile uygulama geliştirdikten sonra günlüğe kaydetme davranışını değiştirebilirsiniz.

Başlarken

Her ileti My.Application.Log yazma hangi filtreleme mekanizmaları kullanan çıkışı kontrol etmek için bir ilişkili önem düzeyi vardır.Bu örnek uygulama kullanan My.Application.Log birkaç yazma yöntemleri günlük iletileri farklı önem derecelerine.

Örnek uygulama oluşturmak için

  1. Yeni bir açmak Visual Basic Windows Application projesi.

  2. Form1 Button1 adlı button ekleyin.

  3. De Click olay işleyicisi Button1, aşağıdaki kodu ekleyin:

  4. Hata ayıklayıcıda uygulamayı çalıştırın.

  5. Press Button1.

    Uygulama aşağıdaki bilgileri uygulamanın hata ayıklama çıktı ve günlük dosyasına yazar.

    DefaultSource Information: 0 : In Button1_Click

    DefaultSource Error: 2 : Error in the application.

  6. Uygulamayý kapatýn.

Uygulamanın debug output penceresi görüntüleme hakkında daha fazla bilgi için bkz: Output penceresi.Uygulamanın günlük dosyasının konumu hakkında daha fazla bilgi için bkz: İzlenecek yol: Bilgi (Visual Basic) My.Application.Log burada Yazar belirleme.

[!NOT]

Uygulama kapandığında varsayılan olarak, günlük dosyası çıktısını uygulama temizler.

İkinci çağrı için yukarıdaki örnekte WriteEntry yöntemi ve çağrı WriteException yöntemi üreten ilk ve son çağrı sırasında günlük çıktı WriteEntry yöntemi yoktur.Çünkü önem düzeyleri WriteEntry ve WriteException "Bilgi" ve "Hata" her tarafından izin verilen My.Application.Log nesnenin varsayılan günlük Filtresi.Ancak, "Başlangıç" ve "Durdur" önem düzeyleri ile olayları günlük çıktı oluşturmuyor engellenir.

Tüm My.Application.Log dinleyicileri için süzme

My.Application.Log Nesnesini kullanan bir SourceSwitch adlı DefaultSwitch , geçişleri gelen iletileri denetlemek için WriteEntry ve WriteException günlük dinleyici yöntemleri.Yapılandırabileceğiniz DefaultSwitch biri olarak değerini ayarlayarak uygulamanın yapılandırma dosyasında SourceLevels numaralandırma değerleri.Varsayılan olarak, "Bilgi" değeri var.

Bu tablo için günlük verilen belirli bir dinleyici, bir ileti yazmak gerekli önem düzeyini gösterir DefaultSwitch ayarı.

DefaultSwitch değeri

Çıktı için gereken ileti önem

Critical

Critical

Error

Critical veya Error

Warning

CriticalError veya Warning

Information

Critical, Error, Warning, orInformation

Verbose

Critical, Error, Warning, Information, orVerbose

ActivityTracing

Start, Stop, Suspend, Resume, orTransfer

All

Tüm iletileri izin verilir.

Off

Tüm iletiler engellenir.

[!NOT]

WriteEntry Ve WriteException yöntemlerinin her bir önem düzeyi belirtmeyen aşırı yüklü.Örtülü önem düzeyi için WriteEntry aşırı, "Bilgi" ve örtülü önem düzeyi için WriteException aşırı "Hata" olduğunu.

Bu tablo, önceki örnekte gösterilen günlük çıkış açıklar: varsayılan DefaultSwitch "Bilgi" ayarı, yalnızca ikinci çağrısı WriteEntry yöntemi ve çağrı WriteException yöntemi üretim günlük çıktı.

Yalnızca etkinliğini izleme olaylarını günlüğe kaydetmek için

  1. App.config içinde sağ Solution Explorer ve açık.

    -veya-

    App.config dosyası yok ise:

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

    2. Dan Add New Item iletişim kutusunda, seçim Uygulama yapılandırma dosyası.

    3. Ekle‘yi tıklatın.

  2. Bulun <switches> bulunduğu bölüm <system.diagnostics> üst düzey olduğu bölüm <configuration> bölüm.

  3. Ekler öğesini bulmasını DefaultSwitch için anahtarları topluluğu.Bu öğe için benzer görünmelidir:

    <add name="DefaultSwitch" value="Information" />

  4. Değeri değiştirmek value "ActivityTracing" için öznitelik.

  5. App.config dosyası içeriği aşağıdaki xml biçimine 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"/>
            </listeners>
          </source>
        </sources>
        <switches>
          <add name="DefaultSwitch" value="ActivityTracing" />
        </switches>
        <sharedListeners>
          <add name="FileLog"
               type="Microsoft.VisualBasic.Logging.FileLogTraceListener, 
                     Microsoft.VisualBasic, Version=8.0.0.0, 
                     Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, 
                     processorArchitecture=MSIL" 
               initializeData="FileLogWriter"/>
        </sharedListeners>
      </system.diagnostics>
    </configuration>
  6. Hata ayıklayıcıda uygulamayı çalıştırın.

  7. Press Button1.

    Uygulama aşağıdaki bilgileri uygulamanın hata ayıklama çıktı ve günlük dosyasına yazar:

    DefaultSource Start: 4 : Entering Button1_Click

    DefaultSource Stop: 5 : Leaving Button1_Click

  8. Uygulamayý kapatýn.

  9. Değeri değiştirmek value "Bilgi için" geri öznitelik.

[!NOT]

DefaultSwitch Geçiş ayarı denetimleri yalnızca My.Application.Log.Değiştirme nasıl .NET FrameworkSystem.Diagnostics.Trace ve System.Diagnostics.Debug sınıfları gibi davranır. 

Tek tek My.Application.log dinleyicileri için süzme

Önceki örnekte tüm filtre değiştirme gösterilmiştir My.Application.Log çıktı.Bu örnek, bir tek günlük dinleyici filtre gösterilmiştir.Varsayılan olarak, bir uygulama söz konusu uygulamanın hata ayıklama çıkışı ve günlük dosyası yazma iki dinleyici sahiptir.

Yapılandırma dosyası, her biri bir anahtarı için benzer bir filtreye sahip vererek günlük dinleyicileri davranışını denetler My.Application.Log.İletinin önem hem günlüğün tarafından veriliyorsa ileti günlük dinleyici dökecek DefaultSwitch ve günlük dinleyici'nın filtre.

Bu örnek için yeni bir hata ayıklama dinleyici filtrelemesini yapılandırmak ve eklemek nasıl gösterilmektedir Log nesne.Varsayılan hata ayıklama dinleyicisi tarafından kaldırılması gerektiğini Log nesne hata ayıklama iletileri yeni hata ayıklama dinleyici gelen açık olacak.

Yalnızca etkinliğini izleme olaylarını günlüğe kaydetmek için

  1. App.config içinde sağ Solution Explorer ve açık.

    -veya-

    App.config dosyası yok ise:

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

    2. Dan Add New Item iletişim kutusunda, seçim Uygulama yapılandırma dosyası.

    3. Ekle‘yi tıklatın.

  2. App.config içinde sağ Solution Explorer'da.Seçim açık.

  3. Bulun <listeners> bölümünde, de <source> ile bölüm name "altında olan DefaultSource" özniteliği <sources> bölüm.<sources> Bölümdür altında <system.diagnostics> bölümünde, en üst düzey <configuration> bölüm.

  4. Bu öğe ekleme <listeners> bölümü:

    <!-- Remove the default debug listener. -->
    <remove name="Default"/>
    <!-- Add a filterable debug listener. -->
    <add name="NewDefault"/>
  5. Bulun <sharedListeners> bölümünde, de <system.diagnostics> bölümünde, en üst düzey <configuration> bölüm.

  6. Bu öğe eklemek için <sharedListeners> bölümü:

    <add name="NewDefault" 
         type="System.Diagnostics.DefaultTraceListener, 
               System, Version=2.0.0.0, Culture=neutral, 
               PublicKeyToken=b77a5c561934e089, 
               processorArchitecture=MSIL">
        <filter type="System.Diagnostics.EventTypeFilter" 
                initializeData="Error" />
    </add>

    EventTypeFilter Filtre birini alır SourceLevels numaralandırma değerleri olarak kendi initializeData özniteliği.

  7. App.config dosyası içeriği aşağıdaki xml biçimine 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"/>
              <!-- Remove the default debug listener. -->
              <remove name="Default"/>
              <!-- Add a filterable debug listener. -->
              <add name="NewDefault"/>
            </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, 
                     processorArchitecture=MSIL" 
               initializeData="FileLogWriter"/>
          <add name="NewDefault" 
               type="System.Diagnostics.DefaultTraceListener, 
                     System, Version=2.0.0.0, Culture=neutral, 
                     PublicKeyToken=b77a5c561934e089, 
                     processorArchitecture=MSIL">
            <filter type="System.Diagnostics.EventTypeFilter" 
                    initializeData="Error" />
          </add>
        </sharedListeners>
      </system.diagnostics>
    </configuration>
  8. Hata ayıklayıcıda uygulamayı çalıştırın.

  9. Press Button1.

    Uygulama aşağıdaki bilgileri uygulamanın günlük dosyasına yazar:

    Default Information: 0 : In Button1_Click

    Default Error: 2 : Error in the application.

    Uygulama, daha kısıtlayıcı süzme nedeniyle daha az bilgi uygulamanın hata ayıklama çıktıya yazar.

    Default Error 2 Error

  10. Uygulamayý kapatýn.

Dağıtımdan sonra günlük ayarlarını değiştirme hakkında daha fazla bilgi için bkz: Uygulama günlükleri Visual Basic ile çalışma.

Ayrıca bkz.

Görevler

İzlenecek yol: Bilgi (Visual Basic) My.Application.Log burada Yazar belirleme

İzlenecek yol: Burada bilgi (Visual Basic) My.Application.Log Yazar değiştirme

İzlenecek yol: Özel günlük dinleyicileri (Visual Basic) oluşturma

Nasıl yapılır: (Visual Basic) günlüğü iletileri yazma

Kavramlar

İzleme anahtarları

Uygulama (Visual Basic) bilgi günlüğü