tail -f logfile.txt 输出logfile.txt的最后10行,然后随着文件的增长继续输出附加的数据。
tail -f logfile.txt
-f在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。
fs.watchFile
另外,您可以只使用node-tail模块,该模块在fs.watchFile内部使用并且已经为您完成了工作。这是直接从文档中使用它的示例:
Tail = require('tail').Tail; tail = new Tail("fileToTail"); tail.on("line", function(data) { console.log(data); });