Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O DAB (Construtor de API de Dados) dá suporte a níveis de log filtrados para controlar a verbosidade. Você pode definir um nível global e substituir namespaces ou classes específicos para diagnósticos focados.
As configurações de log são configuradas na runtime.telemetry.log-level seção de sua configuração. Você pode especificar níveis de log globalmente ou direcionar namespaces ou classes específicas para controle refinado.
Pré-requisitos
- Arquivo de configuração do DAB existente.
Executar ferramenta
Use dab configure para definir níveis de log no arquivo de configuração.
Configurar os níveis de 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
Inicie o DAB.
dab start
Log de teste
Envie uma solicitação para sua API.
Confirme se os logs correspondem aos níveis configurados.
Configuração
Adicione uma log-level seção sob runtime.telemetry em seu arquivo de configuração.
Prioridades de nível de log
O nome de classe ou namespace mais específico tem precedência. A default chave define o nível base para todos os outros componentes não listados explicitamente.
Se omitido, o DAB usará níveis padrão com base no modo de host:
-
developmento modo padrão éDebug. -
productiono modo padrão éError.
Níveis de log com suporte
-
Trace: informações mais detalhadas, normalmente para solução de problemas profundas. -
Debug: informações detalhadas sobre como diagnosticar problemas durante o desenvolvimento. -
Information: eventos gerais de alto nível que descrevem operações normais. -
Warning: situações inesperadas ou problemas menores que podem exigir atenção. -
Error: falhas que impedem que uma operação seja concluída com êxito. -
Critical: problemas graves que causam falha no sistema ou no recurso principal. -
None: desabilite o registro em log para a categoria ou componente de destino.
Há suporte para correspondências parciais de nomes de namespace, mas devem terminar em um . separador. Por exemplo:
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidatorAzure.DataApiBuilder.Coredefault
Configuração de exemplo
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
Neste exemplo, logs de RuntimeConfigValidator usam Debug, outras classes em Azure.DataApiBuilder.Core usam Information, e todos os outros logs usam Warning por padrão.
Command-line
Configurar níveis de log por meio de 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
Configuração resultante
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
Suporte para recarregamento frequente
Você pode atualizar os níveis de log dinamicamente (recarregamento frequente) nos modos de desenvolvimento e produção sem reiniciar o aplicativo. Isso ajuda a ajustar o log em tempo real para solucionar problemas.
Namespaces importantes para filtragem
Alguns namespaces e classes comuns que talvez você queira filtrar e por que:
-
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator: diagnosticar problemas de validação de configuração e erros de esquema. -
Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine: investigue o comportamento de geração e execução de consulta SQL. -
Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor: rastrear a execução do banco de dados e o tempo para chamadas de consulta. -
Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter: solucionar problemas na composição do relatório do endpoint de integridade. -
Azure.DataApiBuilder.Service.Controllers.RestController: inspecione o roteamento de solicitação REST e erros no nível do controlador. -
Azure.DataApiBuilder.Auth.IAuthorizationResolver: depurar decisões de autorização e avaliação de função. -
Microsoft.AspNetCore.Authorization.IAuthorizationHandler: investigue o comportamento do pipeline de autorização do ASP.NET Core. -
default: defina o nível de linha de base para todas as outras categorias não explicitamente listadas.