如何在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('data',function(data) {
  console.log(data);
});

我知道事件循环正在退出,因为在流结束&关闭事件没有更多的事件 – 我很好奇继续监视流的最佳方式。

解决方法

这样做的规范方法fs.watchFile

或者,你可以使用the node-tail module,它在内部使用fs.watchFile,并且已经为你完成了工作。这里是一个使用它直接从文档的例子:

Tail = require('tail').Tail;

tail = new Tail("filetoTail");

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

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...