Dela via


Konfigurera loggnivåer i Data API Builder

Data API Builder (DAB) stöder filtrerade loggnivåer för att kontrollera verbositet. Du kan ange en global nivå och åsidosätta specifika namnrymder eller klasser för fokuserad diagnostik.

Diagram som visar filtreringsflödet på loggnivå.

Loggningsinställningarna konfigureras i avsnittet i runtime.telemetry.log-level konfigurationen. Du kan ange loggnivåer globalt eller målspecifika namnområden eller klasser för detaljerad kontroll.

Förutsättningar

  • Befintlig DAB-konfigurationsfil.

Kör verktyget

Använd dab configure för att ange loggnivåer i konfigurationsfilen.

Konfigurera loggnivåer

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

Starta DAB.

dab start

Testloggning

  1. Skicka en begäran till ditt API.

  2. Bekräfta att loggarna matchar de konfigurerade nivåerna.

Konfiguration

Lägg till ett log-level avsnitt under runtime.telemetry i konfigurationsfilen.

Prioriteringar på loggnivå

Det mest specifika namnområdet eller klassnamnet har företräde. Nyckeln default anger basnivån för alla andra komponenter som inte uttryckligen anges.

Om det utelämnas använder DAB standardnivåer baserat på värdläget:

  • development-läget är som standardinställning Debug.
  • production-läget är som standardinställning Error.

Loggnivåer som stöds

  • Trace: Mest detaljerad information, vanligtvis för djup felsökning.
  • Debug: Detaljerad information för att diagnostisera problem under utvecklingen.
  • Information: Allmänna händelser på hög nivå som beskriver normala åtgärder.
  • Warning: Oväntade situationer eller mindre problem som kan kräva uppmärksamhet.
  • Error: Fel som hindrar en åtgärd från att slutföras.
  • Critical: Allvarliga problem som orsakar systemfel eller större funktionsfel.
  • None: Inaktivera loggning för målkategorin eller komponenten.

Partiella matchningar av namnområdesnamn stöds men måste avslutas vid en . avgränsare. Till exempel:

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

Exempelkonfiguration

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

I det här exemplet använder loggar från RuntimeConfigValidatorDebug, andra klasser under Azure.DataApiBuilder.Core använder Information och alla andra loggar använder standardinställningen Warning.

Command-line

Konfigurera loggnivåer via dab configure.

  • --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

Resulterande konfiguration

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

Stöd för snabb inläsning

Du kan uppdatera loggnivåerna dynamiskt (snabbinläsning) i både utvecklings- och produktionslägen utan att starta om programmet. Detta hjälper dig att justera loggning i farten för att felsöka problem.

Viktiga namnområden för filtrering

Några vanliga namnområden och klasser som du kanske vill filtrera och varför:

  • Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator: Diagnostisera problem med konfigurationsverifiering och schemafel.
  • Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine: Undersök SQL-frågegenerering och körningsbeteende.
  • Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor: Spåra databaskörning och tid för exekvering av frågeanrop.
  • Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter: Felsöka rapportens sammansättning av hälsoslutpunkter.
  • Azure.DataApiBuilder.Service.Controllers.RestController: Granska REST-begärandedirigering och fel på kontrollantnivå.
  • Azure.DataApiBuilder.Auth.IAuthorizationResolver: Felsöka auktoriseringsbeslut och rollutvärdering.
  • Microsoft.AspNetCore.Authorization.IAuthorizationHandler: Undersöka beteendet för ASP.NET Core-auktoriseringspipeline.
  • default: Ange baslinjenivån för alla andra kategorier som inte uttryckligen anges.