ОтелПровайдерЛогирования
Провайдер логирования (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().
Возвращает: Обещание
ОбновитьКонфигуратор
Обновляет конфигуратор логгеров и пропагирует изменения во все ранее созданные логгеры.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
НовыйКонфигуратор | Действие, Неопределено | — | Новый конфигуратор |
Пример
Провайдер = Новый ОтелПостроительПровайдераЛогирования()
.УстановитьРесурс(Ресурс)
.ДобавитьПроцессор(Новый ОтелПростойПроцессорЛогов(Экспортер))
.Построить();
Логгер = Провайдер.ПолучитьЛоггер("мой-сервис", "1.0.0");
// После завершения работы
Провайдер.Закрыть();