Delen via


Gefilterde logboekniveaus gebruiken

Data API Builder (DAB) ondersteunt aanpasbare, gefilterde logboekniveaus om de uitgebreidheid en focus van logboeken te beheren. Hierdoor kunt u gedetailleerde diagnostische gegevens over specifieke onderdelen krijgen terwijl andere gebieden stiller blijven, waardoor uw foutopsporing en bewakingservaring worden verbeterd.

Instellingen voor logboekregistratie worden geconfigureerd in de runtime.telemetry.log-level sectie van uw configuratie. U kunt logboekniveaus globaal of doelspecifieke naamruimten of klassen opgeven voor fijnmazige controle.

Prioriteiten op logboekniveau

  • De meest specifieke naamruimte of klassenaam heeft voorrang.

  • Met default de sleutel wordt het basisniveau ingesteld voor alle andere onderdelen die niet expliciet worden vermeld.

  • Als u dit weglaat, gebruikt DAB standaardniveaus op basis van de hostmodus:

    • development modus is standaard ingesteld Debug op (uitgebreid)
    • production modus is standaard ingesteld Error op (minder uitgebreid)

Ondersteunde logboekniveaus

  • Trace: Leg de meest gedetailleerde en gedetailleerde informatie vast, meestal alleen nuttig voor uitgebreide probleemoplossing of inzicht in elke stap in een proces.
  • Debug: Geef gedetailleerde informatie op die is bedoeld voor het diagnosticeren van problemen en het begrijpen van de stroom tijdens de ontwikkeling.
  • Information: Noteer algemene gebeurtenissen op hoog niveau die normale bewerkingen en mijlpalen beschrijven.
  • Warning: Geef onverwachte situaties of kleine problemen aan die de verwerking niet stoppen, maar mogelijk aandacht vereisen.
  • Error: Logboekfouten waardoor een bewerking niet kan worden voltooid, maar het systeem niet vastloopt.
  • Critical: Meld ernstige problemen die leiden tot systeem- of belangrijke functiefouten en vereisen onmiddellijke interventie.
  • None: Schakel logboekregistratie uit om alle berichten voor de doelcategorie of het betreffende onderdeel te onderdrukken.

Gedeeltelijke overeenkomsten van naamruimtenamen worden ondersteund, maar moeten eindigen op een . scheidingsteken. 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"
      }
    }
  }
}

In dit voorbeeld:

  • Logboeken van RuntimeConfigValidator de klasse worden op Debug niveau weergegeven.
  • Andere klassen onder Azure.DataApiBuilder.Core gebruiksniveau Information .
  • Alle andere logboeken zijn standaard ingesteld op Warning niveau.

Hot-reload support

U kunt logboekniveaus dynamisch bijwerken (dynamisch opnieuw laden) in zowel ontwikkelings- als productiemodi zonder de toepassing opnieuw op te starten. Zo kunt u logboekregistratie on-the-fly aanpassen om problemen op te lossen.

Belangrijke naamruimten voor filteren

Sommige algemene naamruimten/klassen die u mogelijk wilt filteren:

  • 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