ОтелЛоггер
Логгер (Logger) — инструмент для создания и отправки записей лога.
Описание
ОтелЛоггер реализует спецификацию OpenTelemetry Logger API. Создаётся через ОтелПровайдерЛогирования. Логгер привязан к ОтелОбластьИнструментирования и делегирует записи цепочке процессоров провайдера.
Все публичные методы потокобезопасны.
Методы
СоздатьЗаписьЛога
Создаёт новую запись лога с лимитами из провайдера.
Возвращает: ОтелЗаписьЛога
Включен
Проверяет, включён ли логгер для заданных параметров. Предназначен для оптимизации hot path — позволяет пропустить создание ОтелЗаписьЛога, если логгер заведомо ничего не сделает.
Важно: Результат может меняться со временем. Кэшировать значение между
Записать-вызовами недопустимо (спецификация Logs API §16).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Контекст | Соответствие, Неопределено | Неопределено | Явный контекст (иначе текущий контекст потока) |
ОбластьИнструментирования | ОтелОбластьИнструментирования | Неопределено | Scope (иначе scope логгера) |
СтепеньСерьезности | Число | 0 | Номер серьезности для фильтрации |
ИмяСобытия | Строка | "" | Имя события для фильтрации |
Возвращает: Булево — Истина, если логгер может обрабатывать записи
Записать
Отправляет запись лога. Устанавливает scope, resource и trace context, затем передаёт запись процессору. После вызова запись становится неизменяемой (Зафиксировать()).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ЗаписьЛога | ОтелЗаписьЛога | — | Запись лога для отправки |
Контекст | Соответствие, Неопределено | Неопределено | Явный контекст для trace correlation |
ОбластьИнструментирования
Возвращает область инструментирования логгера.
Возвращает: ОтелОбластьИнструментирования
Пример
Логгер = Провайдер.ПолучитьЛоггер("мой-сервис", "1.0.0");
Если Логгер.Включен(, , ОтелСтепеньСерьезности.Info()) Тогда
Запись = Логгер.СоздатьЗаписьЛога();
Запись
.УстановитьСерьезность(ОтелСтепеньСерьезности.Info())
.УстановитьТело("Операция завершена")
.УстановитьАтрибут("user.id", "42");
Логгер.Записать(Запись);
КонецЕсли;