我目前正在为嵌入式系统编写一个网站。目标是读取日志文件并使用日志文件内容修改json文件。
日志文件一直被另一个程序写入
Web应用程序将使用NodeJs和socket.io完成。也许还有另一种方法可以在html页面上实时显示这些日志数据吗?
如果我只是打开日志文件,它会锁定吗?我是否有时间打开它,做算法并在1秒内关闭它?
有没有办法让它保持打开并始终读取最后一行?
我发现了这篇文章:" Reading from a frequently updated file"但它是用Python。
添加个人信息 可以更新在日志文件中写入的程序。其中一种可能性是使用单行编辑文件(这是大日志文件中的最后一行)。此唯一线将每秒更新
答案 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。