Skip to content

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

Построитель логгера (LoggerBuilder) — получение логгера с версией, адресом схемы и атрибутами области.

Описание ​

Задаёт, кроме имени инструментирующей библиотеки, её версию, адрес схемы телеметрии (schema URL) и атрибуты области инструментирования (InstrumentationScope) цепочкой вызовов. Аналог Java SDK: LoggerProvider.loggerBuilder("name").

Построитель возвращает метод ПостроительЛоггера(ИмяБиблиотеки) провайдера логирования (ОтелПровайдерЛогирования) или SDK (ОтелSdk — построитель его провайдера логирования). Имя библиотеки задаётся при создании построителя, остальные параметры необязательны: по умолчанию версия и адрес схемы — пустые строки, атрибутов области нет.

Построить получает логгер у провайдера (ПолучитьЛоггер) с заданными параметрами, поэтому действует кэш провайдера: для той же области инструментирования — имени, версии, адреса схемы и атрибутов — возвращается тот же логгер. После закрытия провайдера Построить возвращает логгер, который отбрасывает записи.

Методы ​

УстановитьВерсию ​

Устанавливает версию инструментирующей библиотеки.

ПараметрТипПо умолчаниюОписание
ЗначениеСтрока—Версия библиотеки, например "1.0.0"

Возвращает: ОтелПостроительЛоггера — ЭтотОбъект для цепочки вызовов


УстановитьАдресСхемы ​

Устанавливает адрес схемы телеметрии (schema URL) области инструментирования.

ПараметрТипПо умолчаниюОписание
ЗначениеСтрока—URL схемы

Возвращает: ОтелПостроительЛоггера — ЭтотОбъект для цепочки вызовов


УстановитьАтрибутыОбласти ​

Устанавливает атрибуты области инструментирования. Атрибуты входят в идентичность области: логгеры одной библиотеки с разными атрибутами — разные логгеры. Область копирует атрибуты при создании логгера, поэтому изменение объекта атрибутов после Построить логгер не меняет.

ПараметрТипПо умолчаниюОписание
ЗначениеОтелАтрибуты—Атрибуты области инструментирования

Возвращает: ОтелПостроительЛоггера — ЭтотОбъект для цепочки вызовов


Построить ​

Создаёт логгер с заданными параметрами или возвращает уже созданный логгер той же области инструментирования. Пустое имя библиотеки или Неопределено допускается: провайдер пишет предупреждение в лог и создаёт логгер с этим именем.

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

Пример ​

bsl
// Провайдер - ОтелПровайдерЛогирования
АтрибутыОбласти = Новый ОтелАтрибуты();
АтрибутыОбласти.Установить("module", "orders");

Логгер = Провайдер.ПостроительЛоггера("my-library")
    .УстановитьВерсию("1.0.0")
    .УстановитьАдресСхемы("https://opentelemetry.io/schemas/1.26.0")
    .УстановитьАтрибутыОбласти(АтрибутыОбласти)
    .Построить();

// Тот же логгер: область инструментирования совпадает
ТотЖеЛоггер = Провайдер.ПостроительЛоггера("my-library")
    .УстановитьВерсию("1.0.0")
    .УстановитьАдресСхемы("https://opentelemetry.io/schemas/1.26.0")
    .УстановитьАтрибутыОбласти(АтрибутыОбласти)
    .Построить();

// Через SDK (Сдк - ОтелSdk)
Логгер = Сдк.ПостроительЛоггера("my-library")
    .УстановитьВерсию("1.0.0")
    .Построить();

См. также ​