tail -f logfile.txt输出logfile.txt的最后10行,然后随着文件增长继续输出附加的数据。
在node.js中执行-f部分的推荐方法是什么?
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); });