我正在尝试从syslog-ng读取更新的JSON文件。目前,syslog,一个日志记录软件,被设置为不断地将我想要的数据的日志附加到JSON文件中。我在我的网络攻击地图上只显示了30秒的数据,直到它不再需要。我可以读取文件并解析我需要的内容,但是随着时间的推移,有没有办法只读取和解析文件中最近添加的内容?
示例代码:
//Assume JSON output = {attack source, attack destination, attack type}
//Required modules
var JSONStream = require('JSONStream')
var fs = require('fs');
//Creates readable stream for JSON file parsing
var stream = fs.createReadStream( 'output.json', 'utf8'),
parser = JSONStream.parse(['source', 'dest', 'type']);
//Send read data to parser function
stream.pipe(parser);
//Intake data from parser function
parser.on('data', function (obj) {
//Do something with the object
console.log(obj);
});我使用JSONStream来避免将整个日志文件读取到内存中,JSONstream应该仍然能够解析我想要的部分,但是有没有一种方法可以在原始读取完成后才读取更改?
发布于 2020-04-18 23:31:30
https://stackoverflow.com/questions/61291149
复制相似问题