Javascript - 从经常更新的文件中读取

时间:2016-06-22 12:53:43

标签: javascript node.js logging real-time

我目前正在为嵌入式系统编写一个网站。目标是读取日志文件并使用日志文件内容修改json文件。

日志文件一直被另一个程序写入

Web应用程序将使用NodeJs和socket.io完成。也许还有另一种方法可以在html页面上实时显示这些日志数据吗?

如果我只是打开日志文件,它会锁定吗?我是否有时间打开它,做算法并在1秒内关闭它?

有没有办法让它保持打开并始终读取最后一行?

我发现了这篇文章:" Reading from a frequently updated file"但它是用Python。

添加个人信息 可以更新在日志文件中写入的程序。其中一种可能性是使用单行编辑文件(这是大日志文件中的最后一行)。此唯一线将每秒更新

1 个答案:

答案 0 :(得分:2)

如果您要使用Node.js,我建议您使用node-tail

它允许你"尾巴"文件以直截了当的方式。根据文档,这是你如何做到的:

Tail = require('tail').Tail;

tail = new Tail("fileToTail");

tail.on("line", function(data) {
    console.log(data);
});

tail.on("error", function(error) {
    console.log('ERROR: ', error);
});

此外,您可以使用Node.js附带的fs.watchFile