Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il generatore di API dati (DAB) supporta livelli di log filtrati per controllare la verbosità. È possibile impostare un livello globale ed eseguire l'override di spazi dei nomi o classi specifici per la diagnostica mirata.
Le impostazioni di registrazione vengono configurate nella runtime.telemetry.log-level sezione della configurazione. È possibile specificare livelli di log a livello globale o specificare classi o spazi dei nomi specifici per il controllo con granularità fine.
Prerequisiti
- File di configurazione DAB esistente.
Eseguire lo strumento
Usare dab configure per impostare i livelli di log nel file di configurazione.
Configurare i livelli di log
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
Avvia DAB.
dab start
Registrazione dei test
Inviare una richiesta all'API.
Verificare che i log corrispondano ai livelli configurati.
Configurazione
Aggiungere una log-level sezione sotto runtime.telemetry nel file di configurazione.
Priorità a livello di log
Il nome dello spazio dei nomi o della classe più specifico ha la precedenza. La default chiave imposta il livello di base per tutti gli altri componenti non elencati in modo esplicito.
Se omesso, DAB usa i livelli predefiniti in base alla modalità host:
-
developmentla modalità predefinita èDebug. -
productionla modalità predefinita èError.
Livelli di log supportati
-
Trace: informazioni più dettagliate, in genere per la risoluzione dei problemi più approfondita. -
Debug: informazioni dettagliate per la diagnosi dei problemi durante lo sviluppo. -
Information: eventi generali di alto livello che descrivono le normali operazioni. -
Warning: situazioni impreviste o problemi secondari che possono richiedere attenzione. -
Error: errori che impediscono il completamento di un'operazione. -
Critical: problemi gravi che causano errori di sistema o di funzionalità principali. -
None: disabilita la registrazione per la categoria o il componente di destinazione.
Le corrispondenze parziali dei nomi degli spazi dei nomi sono supportate, ma devono terminare in corrispondenza di un . separatore. Per esempio:
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidatorAzure.DataApiBuilder.Coredefault
Configurazione di esempio
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
In questo esempio, i log da RuntimeConfigValidator usano Debug, altre classi sotto Azure.DataApiBuilder.Core usano Information, e tutti gli altri log predefiniti sono su Warning.
Command-line
Configurare i livelli di log tramite 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
Configurazione risultante
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
Supporto del ricaricamento rapido
È possibile aggiornare i livelli di log in modo dinamico (ricaricamento rapido) in modalità di sviluppo e produzione senza riavviare l'applicazione. Ciò consente di regolare la registrazione in tempo reale per risolvere i problemi.
Spazi dei nomi importanti per il filtro
Alcuni namespace e classi comuni che potrebbe voler filtrare, e perché:
-
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator: diagnosticare i problemi di convalida della configurazione e gli errori dello schema. -
Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine: analizzare il comportamento di generazione ed esecuzione di query SQL. -
Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor: Tracciare l'esecuzione e la tempistica per le chiamate di query al database. -
Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter: risolvere i problemi relativi alla composizione del report dello stato di salute dell'endpoint. -
Azure.DataApiBuilder.Service.Controllers.RestController: esaminare gli errori di routing delle richieste REST e a livello di controller. -
Azure.DataApiBuilder.Auth.IAuthorizationResolver: eseguire il debug delle decisioni di autorizzazione e della valutazione del ruolo. -
Microsoft.AspNetCore.Authorization.IAuthorizationHandler: Esaminare il comportamento della pipeline di autorizzazione di ASP.NET Core. -
default: impostare il livello di base per tutte le altre categorie non elencate in modo esplicito.