Aracılığıyla paylaş


Filtrelenmiş Günlük Düzeylerini Kullanma

Veri API oluşturucusu (DAB), günlüklerin ayrıntı düzeyini ve odağını denetlemenize yardımcı olmak için özelleştirilebilir, filtrelenmiş günlük düzeylerini destekler. Bu, belirli bileşenlerle ilgili ayrıntılı tanılamalar elde etmenizi sağlarken diğer alanları daha sessiz tutarak hata ayıklama ve izleme deneyiminizi geliştirebilirsiniz.

Günlük ayarları yapılandırmanızın bölümünde yapılandırılırruntime.telemetry.log-level. Günlük düzeylerini genel olarak belirtebilir veya ayrıntılı denetim için belirli ad alanlarını veya sınıfları hedefleyebilirsiniz.

Günlük düzeyi öncelikleri

  • En özel ad alanı veya sınıf adı önceliklidir.

  • anahtar, default açıkça listelenmeyen diğer tüm bileşenler için temel düzeyi ayarlar.

  • Atlanırsa DAB, konak moduna göre varsayılan düzeyleri kullanır:

    • development modu varsayılan olarak Debug (ayrıntılı)
    • production modu varsayılan olarak Error (daha az ayrıntılı)

Desteklenen günlük düzeyleri

  • Trace: En ayrıntılı ve ayrıntılı bilgileri yakalayın; genellikle yalnızca derin sorun giderme veya işlemdeki her adımı anlamak için kullanışlıdır.
  • Debug: Sorunları tanılamaya ve geliştirme sırasında akışı anlamaya yönelik ayrıntılı bilgiler sağlayın.
  • Information: Normal işlemleri ve kilometre taşlarını açıklayan genel, üst düzey olayları kaydedin.
  • Warning: İşlemeyi durdurmayan ancak dikkat gerektiren beklenmeyen durumları veya küçük sorunları belirtin.
  • Error: Bir işlemin başarıyla tamamlanmasını engelleyen ancak sistemi kilitlenmeyen günlük hataları.
  • Critical: Sistem veya önemli özellik hatasına neden olan ve anında müdahale gerektiren ciddi sorunları bildirin.
  • None: Hedeflenen kategori veya bileşen için tüm iletileri engellemek için günlüğe kaydetmeyi devre dışı bırakın.

Ad alanı adlarının kısmi eşleşmeleri desteklenir, ancak ayırıcı . ile bitmelidir. For example:

  • Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator
  • Azure.DataApiBuilder.Core
  • default

Example configuration

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
        "Azure.DataApiBuilder.Core": "Information",
        "default": "Warning"
      }
    }
  }
}

Bu örnekte:

  • Sınıftaki RuntimeConfigValidator günlükler düzeyinde gösterilir Debug .
  • Kullanım Information düzeyi altındaki Azure.DataApiBuilder.Core diğer sınıflar.
  • Diğer tüm günlükler varsayılan olarak düzeye Warning ayarlı olur.

Hot-reload support

Uygulamayı yeniden başlatmadan hem geliştirme hem de üretim modlarında günlük düzeylerini dinamik olarak güncelleştirebilirsiniz (çalışırken yeniden yükleme). Bu, sorunları gidermek için günlük kaydının anında ayarlanmasına yardımcı olur.

Filtreleme için önemli ad alanları

Filtrelemek isteyebileceğiniz bazı yaygın ad alanları/sınıflar:

  • Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator
  • Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine
  • Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor
  • Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter
  • Azure.DataApiBuilder.Service.Controllers.RestController
  • Azure.DataApiBuilder.Auth.IAuthorizationResolver
  • Microsoft.AspNetCore.Authorization.IAuthorizationHandler
  • default