【发布时间】:2015-10-31 10:06:42
【问题描述】:
我目前正在尝试使用 Chokidar 和 socket.io 在 node.js 中创建一个实时日志监控工具。但是,我不太清楚如何在文件更改时有效地重新加载内容。 Chokidar 监视文件更改并触发一个事件,在该事件中,我必须获取更改的内容的唯一选择是再次读取整个文件并再次使用该内容填充视图。这确实会减慢整个过程并增加 CPU 利用率。
var watcher = chokidar.watch('file, dir, or glob', {
ignored: /[\/\\]\./, persistent: true
});
watcher.on('change', function(path, stats) {
if (stats) console.log('File', path, 'changed size to', stats.size);
});
在我的情况下,日志太大了,并且有大量更新。我应该如何解决这个问题?有什么方法可以只获取更改的内容,而不是重新加载整个文件来获取更改的内容?
【问题讨论】:
标签: javascript node.js file logging