Skip to content

ОтелПровайдерЛогирования

Провайдер логирования (LoggerProvider) — центральная точка управления логгерами и процессорами.

Описание

ОтелПровайдерЛогирования реализует спецификацию OpenTelemetry LoggerProvider. Хранит кэш логгеров по ключу (имя библиотеки + версия + атрибуты scope) и делегирует записи логов цепочке процессоров. Все публичные методы потокобезопасны.

Рекомендуется создавать через ОтелПостроительПровайдераЛогирования.

Конструктор

ПараметрТипПо умолчаниюОписание
РесурсОтелРесурсРесурс, описывающий источник телеметрии
КонфигураторДействие, НеопределеноНеопределеноCallback ОбластьИнструментирования → ОтелКонфигурацияЛоггера
ЛимитыЗаписейЛогаОтелЛимитыЗаписейЛогаНеопределеноЛимиты записей лога

Методы

ПостроительЛоггера

Создаёт построитель логгера (LoggerBuilder).

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрокаИмя инструментирующей библиотеки

Возвращает: ОтелПостроительЛоггера


ПолучитьЛоггер

Создаёт или возвращает из кэша логгер для указанной библиотеки. После Закрыть() возвращает рабочий no-op логгер.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрокаИмя инструментирующей библиотеки
ВерсияБиблиотекиСтрока""Версия библиотеки
АтрибутыОбластиОтелАтрибутыНеопределеноАтрибуты InstrumentationScope
АдресСхемыСтрока""URL схемы телеметрии

Возвращает: ОтелЛоггер


ДобавитьПроцессор

Добавляет процессор логов в цепочку.

ПараметрТипПо умолчаниюОписание
ПроцессорПроизвольныйПроцессор логов (реализует ИнтерфейсПроцессорЛогов)

Ресурс

Возвращает ресурс провайдера.

Возвращает: ОтелРесурс


СброситьБуфер

Принудительно отправляет все накопленные данные через процессоры.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло0Таймаут в миллисекундах (0 — без ограничения)

Возвращает: ОтелРезультатЭкспорта


Закрыть

Завершает работу провайдера (Shutdown). Идемпотентен. После закрытия ПолучитьЛоггер() возвращает no-op логгер.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло30000Таймаут операции в миллисекундах

Возвращает: ОтелРезультатЗакрытия


ПринудительноВыгрузитьСРезультатом

Принудительно отправляет все данные и возвращает результат в формате OTel SDK.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло30000Таймаут операции в миллисекундах

Возвращает: ОтелРезультатЗакрытия


СброситьБуферАсинхронно

Асинхронно сбрасывает буфер. Аналог Java SDK: CompletableResultCode forceFlush().

Возвращает: Обещание


ЗакрытьАсинхронно

Асинхронно завершает работу провайдера. Аналог Java SDK: CompletableResultCode shutdown().

Возвращает: Обещание


ОбновитьКонфигуратор

Обновляет конфигуратор логгеров и пропагирует изменения во все ранее созданные логгеры.

ПараметрТипПо умолчаниюОписание
НовыйКонфигураторДействие, НеопределеноНовый конфигуратор

Пример

bsl
Провайдер = Новый ОтелПостроительПровайдераЛогирования()
    .УстановитьРесурс(Ресурс)
    .ДобавитьПроцессор(Новый ОтелПростойПроцессорЛогов(Экспортер))
    .Построить();

Логгер = Провайдер.ПолучитьЛоггер("мой-сервис", "1.0.0");

// После завершения работы
Провайдер.Закрыть();