Сбор и сохранение диагностических данных сервиса бизнес-логики
Для сбора и сохранения диагностических данных, таких как журналы событий и трассировок, а также метрики, сервисы бизнес-логики Платформы используют OpenTelemetry.
Класс PlatformService подключает и настраивает компоненты OpenTelemetry. OpenTelemetryCollector в составе Платформы по умолчанию собирает диагностические данные в сервисах Платформы. Для удобства локальной отладки журналы событий и трассировок также направляются в консоль сервиса.
Следующий блок кода демонстрирует настройку параметров OpenTelemetryCollector через конфигурацию сервиса:
{
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: "http://url:port",
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: "http://url:port",
OTEL_SERVICE_NAME: "mysuperservice",
}
Для ведения журнала трассировок подключаются библиотеки автоматического инструментирования входящих и исходящих HTTP-запросов.
Уровень ведения журнала событий можно настраивать через параметры конфигурации сервиса:
{
"LogLevel": "Information",
}
Кроме того, уровнем ведения журнала событий в библиотеках .NET Core, используемых в составе разрабатываемого сервиса, можно управлять через параметры, которые демонстрирует следующий блок кода. Более подробная информация о параметрах содержится в документации библиотек .NET Core.
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
...
}
}
}