Sdílet prostřednictvím


Použití filtrovaných úrovní protokolu

Tvůrce rozhraní DATA API (DAB) podporuje přizpůsobitelné a filtrované úrovně protokolů, které vám pomůžou řídit úroveň podrobností a zaměření protokolů. Díky tomu můžete získat podrobnou diagnostiku konkrétních komponent a zároveň udržovat ostatní oblasti tišší, což zlepšuje možnosti ladění a monitorování.

Nastavení protokolování se konfiguruje v runtime.telemetry.log-level části konfigurace. Můžete zadat úrovně protokolů globálně nebo cílit na konkrétní obory názvů nebo třídy pro jemně odstupňované řízení.

Priority na úrovni protokolu

  • Přednost má nejvýraznější obor názvů nebo název třídy.

  • Klíč default nastaví základní úroveň pro všechny ostatní komponenty, které nejsou explicitně uvedeny.

  • Pokud tento parametr vynecháte, jazyk DAB používá výchozí úrovně na základě režimu hostitele:

    • development režim výchozího nastavení Debug (podrobné)
    • production Výchozí režim je Error (méně podrobné)

Podporované úrovně protokolů

  • Trace: Zachyťte nejpodrobnější a jemně odstupňované informace, obvykle jsou užitečné jenom pro podrobné řešení potíží nebo pochopení každého kroku v procesu.
  • Debug: Zadejte podrobné informace určené k diagnostice problémů a porozumění toku během vývoje.
  • Information: Zaznamenává obecné události vysoké úrovně, které popisují normální operace a milníky.
  • Warning: Uveďte neočekávané situace nebo menší problémy, které nezastavují zpracování, ale mohou vyžadovat pozornost.
  • Error: Selhání protokolu, která brání úspěšnému dokončení operace, ale neukončují systém.
  • Critical: Nahlaste závažné problémy, které způsobují selhání systému nebo hlavních funkcí a vyžadují okamžitý zásah.
  • None: Zakažte protokolování, aby se potlačit všechny zprávy pro cílovou kategorii nebo součást.

Podporují se částečné shody názvů oborů názvů, ale musí končit oddělovačem . . 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"
      }
    }
  }
}

V tomto příkladu:

  • Protokoly z RuntimeConfigValidator třídy se zobrazují na Debug úrovni.
  • Ostatní třídy pod Azure.DataApiBuilder.Core úrovní použití Information .
  • Všechny ostatní protokoly jsou výchozí na Warning úrovni.

Hot-reload support

Úrovně protokolů můžete dynamicky aktualizovat (opětovné načítání za provozu) jak ve vývojovém, tak v produkčním režimu bez restartování aplikace. To pomáhá upravit protokolování za běhu, aby se problémy vyřešily.

Důležité obory názvů pro filtrování

Některé běžné obory názvů nebo třídy, které můžete chtít filtrovat:

  • 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