如何在node.js中进行类似“tail-f logfile.txt”的处理?

tail-f logfile.txt输出logfile.txt的最后10行,然后随着文件的增长继续输出附加数据

在node.js中执行-f部分的推荐方法是什么

下面输出整个文件(忽略“显示最后10行”),然后退出

var fs=require(’fs’);
var rs=fs.createReadStream(’logfile.txt’,{flags:’r’,encoding:’utf8′});
rs.on(数据),功能(数据){
控制台日志(数据);
});

我知道事件循环正在退出,因为在流结束&close event不再有事件了——我很好奇继续监视流的最佳方式

实现这一点的标准方法是使用fs.watchFile

或者,您可以只使用node tail模块,它在内部使用fs.watchFile,并且已经为您完成了这项工作。以下是直接从文档中使用它的示例:

Tail=require('Tail')。Tail;
尾部=新尾部(“fileToTail”);
tail.on(“line”,函数(数据){
控制台日志(数据);
});

发表评论