ОтелЗаписьЛога
Запись лога (LogRecord) — объект, содержащий все поля одной записи лога.
Описание
ОтелЗаписьЛога реализует спецификацию OpenTelemetry LogRecord / ReadWriteLogRecord. Содержит: тело, серьезность, атрибуты, время, имя события, контекст трассировки, ресурс и scope.
После вызова Логгер.Записать() запись фиксируется (Зафиксировать()) и становится неизменяемой — все сеттеры превращаются в no-op.
Уважает лимиты атрибутов из ОтелЛимитыЗаписейЛога: атрибуты сверх лимита отбрасываются, длинные строковые значения усекаются.
Конструктор
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ЛимитыЗаписейЛога | ОтелЛимитыЗаписейЛога | Неопределено | Лимиты записей лога (иначе 128 атрибутов, без ограничения длины) |
Методы — Геттеры
Время
Возвращает время записи лога в наносекундах Unix epoch.
Возвращает: Строка
ВремяНаблюдения
Возвращает время наблюдения записи лога в наносекундах Unix epoch.
Возвращает: Строка
НомерСерьезности
Возвращает номер серьезности (SeverityNumber).
Возвращает: Число
ТекстСерьезности
Возвращает текст серьезности (SeverityText).
Возвращает: Строка
Тело
Возвращает тело записи лога.
Возвращает: Строка
Атрибуты
Возвращает атрибуты записи лога.
Возвращает: ОтелАтрибуты
ИдТрассировки
Возвращает идентификатор трассировки для корреляции.
Возвращает: Строка
ИдСпана
Возвращает идентификатор спана для корреляции.
Возвращает: Строка
ФлагиТрассировки
Возвращает флаги трассировки (TraceFlags).
Возвращает: Число
Ресурс
Возвращает ресурс, описывающий источник телеметрии.
Возвращает: ОтелРесурс
ОбластьИнструментирования
Возвращает область инструментирования (InstrumentationScope).
Возвращает: ОтелОбластьИнструментирования
КоличествоОтброшенныхАтрибутов
Возвращает количество атрибутов, отброшенных из-за превышения лимита.
Возвращает: Число
ИмяСобытия
Возвращает имя события (EventName) по спецификации.
Возвращает: Строка
ИнформацияОбИсключении
Возвращает информацию об исключении (если установлена).
Возвращает: ИнформацияОбОшибке, Неопределено
Контекст
Возвращает контекст, в котором была эмитирована запись. Используется Event Bridge.
Возвращает: Соответствие, Неопределено
Методы — Сеттеры (fluent API)
Все сеттеры возвращают ОтелЗаписьЛога (ЭтотОбъект) для цепочки вызовов. После Зафиксировать() становятся no-op.
УстановитьСерьезность
Устанавливает серьезность по номеру из ОтелСтепеньСерьезности. Автоматически устанавливает ТекстСерьезности.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Число | — | Номер серьезности (см. ОтелСтепеньСерьезности) |
УстановитьТекстСерьезности
Устанавливает произвольный текст серьезности независимо от номера.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Строка | — | Текст серьезности |
УстановитьТело
Устанавливает тело записи. Принимает строку, число, булево, массив или соответствие (AnyValue).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Произвольный | — | Содержимое лога |
УстановитьАтрибут
Устанавливает атрибут записи лога. Уважает лимиты: атрибуты сверх лимита отбрасываются, строки длиннее лимита усекаются.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Ключ | Строка | — | Имя атрибута |
Значение | Произвольный | — | Значение атрибута |
УдалитьАтрибут
Удаляет атрибут записи лога (ReadWriteLogRecord MUST поддерживать удаление).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Ключ | Строка | — | Имя атрибута |
УстановитьКонтекстТрассировки
Устанавливает контекст трассировки для корреляции лога с трассировкой.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
НовыйИдТрассировки | Строка | — | Идентификатор трассировки |
НовыйИдСпана | Строка | — | Идентификатор спана |
УстановитьФлагиТрассировки
Устанавливает флаги трассировки.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Флаги | Число | — | Флаги трассировки |
УстановитьИмяСобытия
Устанавливает имя события (EventName) по спецификации.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Строка | — | Имя события |
УстановитьВремя
Устанавливает время записи лога в наносекундах Unix epoch.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ВремяНаносекунды | Строка | — | Время в наносекундах |
УстановитьВремяНаблюдения
Устанавливает время наблюдения записи лога в наносекундах Unix epoch.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ВремяНаносекунды | Строка | — | Время наблюдения в наносекундах |
УстановитьИсключение
Устанавливает информацию об исключении. SDK автоматически извлечёт атрибуты exception.type, exception.message, exception.stacktrace.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | ИнформацияОбОшибке | — | Информация об исключении |
Зафиксировать
Фиксирует запись лога, делая её неизменяемой. Автоматически вызывается в Логгер.Записать().
Пример
Запись = Логгер.СоздатьЗаписьЛога();
Запись
.УстановитьСерьезность(ОтелСтепеньСерьезности.Error())
.УстановитьТело("Критическая ошибка обработки заказа")
.УстановитьАтрибут("order.id", "12345")
.УстановитьАтрибут("user.id", "42")
.УстановитьИмяСобытия("order.failed");
Логгер.Записать(Запись);
// С исключением
Попытка
ОбработатьЗаказ();
Исключение
Запись = Логгер.СоздатьЗаписьЛога();
Запись
.УстановитьСерьезность(ОтелСтепеньСерьезности.Error())
.УстановитьТело("Ошибка обработки заказа")
.УстановитьИсключение(ИнформацияОбОшибке());
Логгер.Записать(Запись);
КонецПопытки;