Skip to content

ОтелЗаписьЛога

Запись лога (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.

ПараметрТипПо умолчаниюОписание
ЗначениеИнформацияОбОшибкеИнформация об исключении

Зафиксировать

Фиксирует запись лога, делая её неизменяемой. Автоматически вызывается в Логгер.Записать().

Пример

bsl
Запись = Логгер.СоздатьЗаписьЛога();
Запись
    .УстановитьСерьезность(ОтелСтепеньСерьезности.Error())
    .УстановитьТело("Критическая ошибка обработки заказа")
    .УстановитьАтрибут("order.id", "12345")
    .УстановитьАтрибут("user.id", "42")
    .УстановитьИмяСобытия("order.failed");
Логгер.Записать(Запись);

// С исключением
Попытка
    ОбработатьЗаказ();
Исключение
    Запись = Логгер.СоздатьЗаписьЛога();
    Запись
        .УстановитьСерьезность(ОтелСтепеньСерьезности.Error())
        .УстановитьТело("Ошибка обработки заказа")
        .УстановитьИсключение(ИнформацияОбОшибке());
    Логгер.Записать(Запись);
КонецПопытки;