Граница записи лога

Материал из Документация Ключ-АСТРОМ
Версия от 17:34, 6 октября 2026; IKuznetsov (обсуждение | вклад) (Новая страница: « = Граница записи лога = При настройке правил временных меток и разделения функция границы записи лога в Ключ-АСТРОМ позволяет определять шаблоны, которые отмечают начало многострочной записи лога. В поле '''Граница записи''' можно ввести шаблон фрагмент...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Граница записи лога

При настройке правил временных меток и разделения функция границы записи лога в Ключ-АСТРОМ позволяет определять шаблоны, которые отмечают начало многострочной записи лога. В поле Граница записи можно ввести шаблон фрагмента строки, который отмечает начало многострочной записи.

Можно определить несколько правил для одного лога, например для логов с несколькими различными форматами записей. При определении нового правила можно, но не обязательно, заполнять такие поля, как Шаблон и Лимит поиска временной метки. Они необязательны, как и поле Граница записи. Символ * обрабатывается буквально, без поддержки подстановочных знаков.

ЕдиныйАгент анализирует каждую строку заданного лога и применяет её к последовательным правилам. Если строка содержит текстовый фрагмент, соответствующий шаблону любого правила, создание текущей записи завершается и начинается создание новой записи.

Пример с одним приложением

Ниже приведён пример лога, созданного одним приложением:

Timestamp - 2024.10.01 9:30:00
Third line
First line
Timestamp - 2024.10.01 9:31:00
Third line
First line
Timestamp - 2024.10.01 9:32:00
Third line
First line
Timestamp - 2024.10.01 9:33:00
Third line

Определение границы записи: First line Результат разделения:

Timestamp - 2024.10.01 9:30:00
Third line
First line

Timestamp - 2024.10.01 9:31:00
Third line
First line

Timestamp - 2024.10.01 9:32:00
Third line
First line

Timestamp - 2024.10.01 9:33:00
Third line

Пример с двумя приложениями

ЕдиныйАгент также может обрабатывать случай, когда два разных приложения пишут в один и тот же лог с разными форматами записей. Для этого нужно добавить несколько дополнительных правил с шаблонами для разных начал записей.

Ниже приведён пример лога, в который два разных приложения пишут с разными форматами записей:

'info':'sun.nio.ch.NioSocketImpl.implRead','stream':'stdout',time': 2024-09-05 07:09:46 UTC}<LogEntry><PosRequest 2024-09-05 07:16:14 UTC><Request><RequestGuid>Content: 2024-09-05 07:16:14 UTC, Id: a9bb-5227b248a0a4</RequestGuid></Request></LogEntry>{{{'log':'\u0009at'}}'info':'sun.nio.ch.NioSocketImpl.implRead','stream':'stdout',time': 2024-09-05 07:09:46 UTC}<LogEntry><PosRequest 2024-09-05 07:16:14 UTC><Request><RequestGuid>Content: 2024-09-05 07:16:14 UTC, Id: a9bb-5227b248a0a4</RequestGuid></Request></LogEntry>

Определения границы записи:

  • Правило: <LogEntry>
  • Правило: '}}

Записи будут разделены следующим образом:

'info':'sun.nio.ch.NioSocketImpl.implRead','stream':'stdout',time': 2024-09-05 07:09:46 UTC}<LogEntry><PosRequest 2024-09-05 07:16:14 UTC><Request><RequestGuid>Content: 2024-09-05 07:16:14 UTC, Id: a9bb-5227b248a0a4</RequestGuid></Request></LogEntry>

{{{'log':'\u0009at'}}'info':'sun.nio.ch.NioSocketImpl.implRead','stream':'stdout',time': 2024-09-05 07:09:46 UTC}<LogEntry><PosRequest 2024-09-05 07:16:14 UTC><Request><RequestGuid>Content: 2024-09-05 07:16:14 UTC, Id: a9bb-5227b248a0a4</RequestGuid></Request></LogEntry>