ОтелПроцессорСобытийВSpanEvents
Процессор-мост Logs → Span Events (Event Bridge) по спецификации OpenTelemetry.
Описание
При появлении записи лога с непустым ИмяСобытия и наличии активного записываемого Span перекладывает событие в Span.ДобавитьСобытие(). Это позволяет использовать единый Logs API для эмиссии событий и автоматически получать span events в trace-данных.
Реализует ИнтерфейсПроцессорЛогов. Соответствует спецификации Logs SDK §48.
Поведение:
- Запись без
ИмяСобытия— пропускается. - Нет активного записываемого Span — пропускается.
- Иначе —
Span.ДобавитьСобытие(ИмяСобытия, Атрибуты, Время).
Процессор не экспортирует логи. Регистрируйте его вместе с
ОтелПростойПроцессорЛоговилиОтелПакетныйПроцессорЛогов, если запись должна попасть и в логи, и в span events.
Методы
ПриПоявлении
Преобразует лог-событие в Span Event, если есть активный записываемый спан. Ошибки добавления события не пробрасываются наружу.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ЗаписьЛога | ОтелЗаписьЛога | — | Запись лога |
Контекст | Соответствие, Неопределено | Неопределено | Явный контекст для поиска активного спана |
Включен
Возвращает Истина, если процессор не закрыт.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Контекст | Соответствие, Неопределено | Неопределено | Явный контекст |
ОбластьИнструментирования | ОтелОбластьИнструментирования | Неопределено | Scope логгера |
СтепеньСерьезности | Число | 0 | Номер серьезности |
ИмяСобытия | Строка | "" | Имя события |
Возвращает: Булево
СброситьБуфер
Процессор не буферизует — всегда возвращает Успех.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ТаймаутМс | Число | 0 | Не используется |
Возвращает: ОтелРезультатЭкспорта
Закрыть
Завершает работу процессора. После вызова ПриПоявлении игнорирует записи.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ТаймаутМс | Число | 0 | Не используется |
Возвращает: ОтелРезультатЗакрытия
Пример
// Регистрация вместе с основным процессором
Провайдер = Новый ОтелПостроительПровайдераЛогирования()
.УстановитьРесурс(Ресурс)
.ДобавитьПроцессор(Новый ОтелПростойПроцессорЛогов(Экспортер))
.ДобавитьПроцессор(Новый ОтелПроцессорСобытийВSpanEvents())
.Построить();
// Запись попадёт и в логи, и в span events активного спана
Запись = Логгер.СоздатьЗаписьЛога();
Запись
.УстановитьИмяСобытия("user.login")
.УстановитьАтрибут("user.id", "42");
Логгер.Записать(Запись);