Dela via


Använda filtrerade loggnivåer

Data API Builder (DAB) stöder anpassningsbara, filtrerade loggnivåer som hjälper dig att kontrollera loggarnas utförlighet och fokus. På så sätt kan du få detaljerad diagnostik för specifika komponenter samtidigt som du håller andra områden tystare, vilket förbättrar felsöknings- och övervakningsupplevelsen.

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.

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 Debug som standard (utförligt)
    • production standardläget till Error (mindre utförligt)

Loggnivåer som stöds

  • Trace: Samla in den mest detaljerade och detaljerade informationen, vanligtvis endast användbar för djup felsökning eller förståelse av varje steg i en process.
  • Debug: Ange detaljerad information som är avsedd att diagnostisera problem och förstå flödet under utvecklingen.
  • Information: Registrera allmänna händelser på hög nivå som beskriver normala åtgärder och milstolpar.
  • Warning: Ange oväntade situationer eller mindre problem som inte slutar bearbetas, men som kan kräva uppmärksamhet.
  • Error: Loggfel som hindrar en åtgärd från att slutföras men som inte kraschar systemet.
  • Critical: Rapportera allvarliga problem som orsakar systemfel eller större funktionsfel och kräver omedelbara åtgärder.
  • None: Inaktivera loggning för att ignorera alla meddelanden för målkategorin eller komponenten.

Partiella matchningar av namnområdesnamn stöds men måste avslutas vid en . avgränsare. 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"
      }
    }
  }
}

I det här exemplet:

  • Loggar från RuntimeConfigValidator klassen visas på Debug nivå.
  • Andra klasser under Azure.DataApiBuilder.Core användningsnivå Information .
  • Alla andra loggar är som standard nivå Warning .

Hot-reload support

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/klasser som du kanske vill filtrera:

  • 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