我有一个类似的日志文件
log.txt
{ timestamp: '2019-10-24 04:39:26',
referer: 'websocket',
switch:
{ program:
'elephant',
preview: 'gopher',
id: 1571891966523 } } }
{ 'switch-type': 'non-buffered',
'switch-time': 17,
'preview-loaded': 477,
'video-loaded': 345 } }
{ timestamp: '2019-10-24 04:39:35',
referer: 'websocket',
switch:
{ program: 'gopher',
preview: 'camel',
id: 1571891975677 } } }
{ 'switch-type': 'pre-buffered',
'switch-time': 15,
'preview-loaded': 348 } }
{ timestamp: '2019-10-24 04:39:37',
referer: 'websocket',
switch:
{ program: 'camel',
preview:
'elephant',
id: 1571891977697 } } }
{ 'switch-type': 'non-buffered',
'switch-time': 14,
'preview-loaded': 302,
'video-loaded': 203 } }
...
该日志文件是由一个定期运行的长期运行的node.js脚本生成的
// logging script
...
console.dir(data);
...
我想要一个node.js脚本来解析该日志文件,并给我一个简短的摘要。该node.js脚本当前类似于[]
// analyze_logs.js var fs = require('fs'); var obj = JSON.parse(fs.readFileSync('file', 'utf8'));
我得到错误:
(一系列严格的JSON格式)。
JSONDecodeError: Expecting property name enclosed in double quotes
How can I pretty-print JSON using node.js?让我意识到上述格式是not
是“ like JSON, except without quotes for keys”。
我如何从console.dir()读取打印的数据,无论是哪种格式,将其从文本文件读入我的node.js脚本,并将其解析回普通的JavaScript对象?
当文本文件中包含大量此类对象时,如何一次读取它们? (JSON streaming似乎有一些read a series of JSON objects库,例如npm stream-json,但它们似乎要求日志记录脚本发出严格的JSON)。
我有一个日志文件,看起来类似于log.txt {时间戳:'2019-10-24 04:39:26',引荐来源:'websocket',开关:{程序:'elephant',预览:'gopher' ,...