Мне нужно синхронно прочитать файл журнала snort в узле js и разобрать их в данные JSON, чтобы я мог сохранить их в базе данных. Проблема в том, что файлы журналов фырканья - это не просто лайнеры. Предупреждение в snort состоит из 5 строк, и я бы хотел сохранить эти 5 строк как одно предупреждение в базе данных.
Я пытался использовать
const rl = readline.createInterface({
input: fs.createReadStream(LOG_FILE),
});
rl.on('line', (line) => {
console.log(`Line from file: ${line}`);
});
чтобы прочитать файл построчно и распечатать его, но он только распечатывает их построчно, и я не знаю, как их сгруппировать.
Вот пример файла журнала snort:
[**] [1:1000001:1] ICMP test [**]
[Classification: Generic ICMP event] [Priority: 3]
06/09-14:18:58.102020 192.168.137.91 -> 192.168.137.89
ICMP TTL:64 TOS:0x0 ID:20610 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:1664 Seq:5 ECHO
Так что в моей базе данных у меня будет что-то, называемое alert, и эти 5 строк будут предупреждены с id: 1 и так далее. Любая помощь будет оценена.