Aracılığıyla paylaş


Veri API'si oluşturucusunda günlük düzeylerini yapılandırma

Veri API oluşturucusu (DAB), ayrıntı seviyesini denetlemek için filtrelenmiş günlük seviyelerini destekler. Genel bir düzey ayarlayabilir ve odaklanmış tanılama için belirli ad alanlarını veya sınıfları geçersiz kılabilirsiniz.

Günlük düzeyi filtreleme akışını gösteren diyagram.

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.

Önkoşullar

  • Mevcut DAB yapılandırma dosyası.

Aracı çalıştır

Yapılandırma dosyasında günlük düzeylerini ayarlamak için dab configure kullanın.

Günlük düzeylerini yapılandırma

dab configure \
  --runtime.telemetry.log-level.default Warning \
  --runtime.telemetry.log-level.Azure.DataApiBuilder.Core Information \
  --runtime.telemetry.log-level.Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator Debug

DAB'ı başlatın.

dab start

Test kaydı

  1. API'nize bir istek gönderin.

  2. Günlüklerin belirtilen seviyelere uygun olduğunu onaylayın.

Konfigürasyon

Yapılandırma dosyanızın altına log-level bir runtime.telemetry bölüm ekleyin.

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 olarak Debugadlandırılır.
  • production modu varsayılan olarak olarak Erroradlandırılır.

Desteklenen günlük düzeyleri

  • Trace: Genellikle ayrıntılı sorun giderme için en ayrıntılı bilgiler.
  • Debug: Geliştirme sırasındaki sorunları tanılamak için ayrıntılı bilgiler.
  • Information: Normal işlemleri açıklayan genel, üst düzey olaylar.
  • Warning: Dikkat gerektiren beklenmeyen durumlar veya küçük sorunlar.
  • Error: İşlemin başarıyla tamamlanmasını engelleyen hatalar.
  • Critical: Sistem veya önemli özellik hatasına neden olan ciddi sorunlar.
  • None: Belirtilen kategori veya bileşen için loglamayı devre dışı bırakın.

Ad alanı adlarının kısmi eşleşmeleri desteklenir, ancak ayırıcı . ile bitmelidir. Örneğin:

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

Örnek yapılandırma

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

Bu örnekte, günlükler RuntimeConfigValidator'dan Debug kullanır, Azure.DataApiBuilder.Core altındaki diğer sınıflar Information kullanır, ve diğer tüm günlükler varsayılan olarak Warning kullanılır.

Command-line

dab configure aracılığıyla günlük düzeylerini yapılandırın.

  • --runtime.telemetry.log-level.default
  • --runtime.telemetry.log-level.<namespace-or-class>

Example

dab configure \
  --runtime.telemetry.log-level.default Warning \
  --runtime.telemetry.log-level.Azure.DataApiBuilder.Core Information \
  --runtime.telemetry.log-level.Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator Debug

Sonuçta elde edilen yapılandırma

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

Anında yeniden yükleme desteği

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ı ve sınıflar ve bunun nedenleri:

  • Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator: Yapılandırma doğrulama sorunlarını ve şema hatalarını tanılayın.
  • Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine: SQL sorgu oluşturma ve yürütme davranışını araştırma.
  • Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor: Sorgu çağrıları için veritabanı yürütmesini ve zamanlamasını izleme.
  • Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter: Sağlık uç noktası raporu kompozisyonu sorunlarını giderme.
  • Azure.DataApiBuilder.Service.Controllers.RestController: REST isteği yönlendirme ve denetleyici düzeyi hatalarını inceleyin.
  • Azure.DataApiBuilder.Auth.IAuthorizationResolver: Yetkilendirme kararlarının ve rol değerlendirmesinin hatalarını ayıklama.
  • Microsoft.AspNetCore.Authorization.IAuthorizationHandler: ASP.NET Çekirdek yetkilendirme işlem hattı davranışını araştırın.
  • default: Açıkça listelenmeyen diğer tüm kategoriler için temel düzeyi ayarlayın.