Перейти к содержимому
Разделы
ЯзыкRUEN

v1.8Введение

Форматы (v1)

Три формата ветки 1.x: nginx, logfmt и syslog, и ограничения по сравнению с v2.

В версии 1 доступны три формата. Форматов json-lines и пользовательских шаблонов нет; они появились в версии 2.

ФорматПримерrec.data
nginx10.0.0.7 - - [01/Oct/2026:09:14:07 +0000] "GET / HTTP/1.1" 200 512ip, method, path, status, bytes
logfmtlevel=warn msg="slow" ms=812все пары
syslog<34>Oct 1 09:14:07 host app: texthost, app

Ограничения#

  • Время всегда считается UTC, даже если зона не указана.
  • Для syslog год берётся текущий.
  • Значения logfmt остаются строками: rec.data.ms равно '812', а не 812.

Свой формат через функцию#

Если формата нет в списке, передайте функцию-разборщик:

js
const parser = sverlo.parser({
  format: (line) => {
    const m = /^(\S+) (\w+) (.*)$/.exec(line);
    return m ? { time: m[1], severity: m[2].toUpperCase(), message: m[3], data: {} } : null;
  }
});

Функция должна вернуть объект записи или null. Регулярное выражение с вложенными квантификаторами на длинной строке способно зависнуть, поэтому в v2 шаблоны заменили регулярки.

Обновлено: