首页 > 解决方案 > Javascript:如何遍历日志文件

问题描述

我有一个 .log 文件,它只是被称为对象的行store_data.log

{"name": "Fred", "id": 31323, "favorited": false}
{"name": "Chris", "id": 33123, "favorited": true}
{"name": "Mike", "id": 33223, "favorited": true}

有一个相应的文件,store_data.json其中包含日志文件路径:

{
    "log_path": "/intua/store_data.log"
} 

在我的 JS 文件中,我想创建一个函数来获取路径并遍历日志信息,但我不确定从哪里开始,因为日志文件不是我知道如何使用的格式。

标签: javascript

解决方案


首先读取你的文件,用'\n'分割,然后迭代解析它。

const fs = require('fs');
const config = require('store_data.json'); // load config,

const logPath = config.log_path;

(async() => {
    const data = await fs.readFileSync(logPath, 'utf-8');
    const logs = data.split('\n');

    Array.from(logs).forEach(logString => {
        const log = JSON.parse(logString);
        console.log(log); // Your log here.
    })
})();

顺便说一句,如果您的日志文件很大,那么 readline 或 stream 会更好。


推荐阅读