Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Построитель API данных (DAB) поддерживает отфильтрованные уровни журналов для управления детализацией. Вы можете задать глобальный уровень и переопределить определенные пространства имен или классы для ориентированной диагностики.
Параметры ведения журнала настраиваются в runtime.telemetry.log-level разделе конфигурации. Вы можете указать уровни журналов глобально или целевые определенные пространства имен или классы для точного управления.
Предпосылки
- Существующий файл конфигурации DAB.
Инструмент запуска
Используйте dab configure для задания уровней журнала в файле конфигурации.
Настройка уровней ведения журнала
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
Запустите DAB.
dab start
Тестирование логирования
Отправьте запрос в API.
Убедитесь, что журналы соответствуют настроенным уровням.
Конфигурация
В файле конфигурации добавьте раздел log-level под runtime.telemetry.
Приоритеты уровня журнала
Наиболее конкретное пространство имен или имя класса имеет приоритет. Ключ default задает базовый уровень для всех остальных компонентов, не перечисленных явным образом.
Если опущено, DAB использует уровни по умолчанию в зависимости от режима узла:
-
developmentрежим по умолчанию — этоDebug. -
productionрежим по умолчанию — этоError.
Поддерживаемые уровни журнала
-
Trace: наиболее подробные сведения, как правило, для глубокого устранения неполадок. -
Debug: подробные сведения о диагностике проблем во время разработки. -
Information: общие, высокоуровневые события, описывающие обычные операции. -
Warning: непредвиденные ситуации или незначительные проблемы, которые могут потребовать внимания. -
Error: сбои, которые препятствуют успешному выполнению операции. -
Critical: серьезные проблемы, которые вызывают сбой системы или основной функции. -
None: отключите ведение журнала для целевой категории или компонента.
Частичные совпадения имен поддерживаются, но должны заканчиваться разделителем . . Рассмотрим пример.
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidatorAzure.DataApiBuilder.Coredefault
Пример конфигурации
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
В этом примере журналы из RuntimeConfigValidator используют Debug, другие классы под Azure.DataApiBuilder.Core используют Information, а все остальные журналы по умолчанию используют Warning.
Command-line
Настройте уровни журнала с помощью 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
Результирующая конфигурация
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
Поддержка горячей перезагрузки (hot-reload)
Вы можете динамически обновлять уровни журналов (горячая перезагрузка) как в режимах разработки, так и в рабочих режимах без перезапуска приложения. Это помогает настроить ведение журнала во всплывающем режиме для устранения неполадок.
Важные пространства имен для фильтрации
Некоторые распространенные пространства имен и классы, которые могут потребоваться отфильтровать и почему:
-
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator: диагностика проблем проверки конфигурации и ошибок схемы. -
Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine: изучение поведения создания и выполнения SQL-запросов. -
Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor: трассировка выполнения и времени выполнения запросов к базе данных. -
Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter: устранение неполадок при составлении отчета о состоянии конечной точки. -
Azure.DataApiBuilder.Service.Controllers.RestController: проверьте маршрутизацию запросов REST и ошибки на уровне контроллера. -
Azure.DataApiBuilder.Auth.IAuthorizationResolver: отладка решений авторизации и оценка ролей. -
Microsoft.AspNetCore.Authorization.IAuthorizationHandler: изучение поведения конвейера авторизации ASP.NET Core. -
default: задайте базовый уровень для всех остальных категорий, которые не указаны явным образом.