v2.1API
createParser()
Фабрика разборщика: все параметры, значения по умолчанию и методы возвращаемого объекта.
function createParser(options: ParserOptions): ParserСоздаёт разборщик. Шаблон и запросы компилируются при создании, поэтому ошибки в настройке видны сразу, а не на миллионной строке.
Параметры#
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
format | string | — | Один из встроенных форматов |
pattern | string | — | Шаблон вместо format; одно из двух обязательно |
timezone | string | локальная | 'UTC' или смещение '+03:00' для строк без зоны |
year | number | текущий | Год для формата syslog |
onError | 'skip' | 'collect' | 'throw' | 'skip' | См. ошибки |
maxErrors | number | 1000 | Предел для parser.errors |
maxLineLength | number | 65536 | Предельная длина строки в символах |
multiline | object | — | Многострочные записи |
typed | boolean | true | Приводить значения logfmt и JSON к числам и булевым |
Одновременно format и pattern указывать нельзя.
Методы#
parser.parseLine(line)#
Разбирает одну строку. Возвращает Record или null, если строка не распознана и onError не 'throw'.
const rec = parser.parseLine('level=warn msg="disk 91%"');
rec.level; // 'warn'parser.parse(text)#
Разбирает многострочный текст целиком и возвращает массив записей. Предназначен для небольших строк в тестах; для файлов используйте поток.
parser.stream(readable, opts?)#
Асинхронный итератор записей, см. потоки и API потоков.
parser.query(text)#
Компилирует запрос в функцию (rec) => boolean.
Свойства#
parser.errors— собранныеParseError(только приonError: 'collect');parser.stats—{ lines, parsed, skipped, aborted }, обновляется по ходу чтения.
Один разборщик на источник
Разборщик хранит состояние многострочной записи, поэтому не делите его между двумя одновременными потоками. Создайте по одному на источник.