nodejs асинхронно читает постоянно растущий файл

Я пытаюсь прочитать текстовый файл, который постоянно растет (добавляя новые строки в конце) с очень высокой скоростью, скажем, ~ 100 строк в секунду, где размер строки составляет приблизительно 200 символов.

Я пробовал следовать , который работает, но отстает на минуту и ​​так далее.

var fs = require('fs');
var path = "D:\\testreadwrite.txt";

fs.watchFile(path, function() {
    console.log('File Changed ...');
    file = fs.readFileSync(path);
    console.log('File content at : ' + new Date() + ' is \n' + file);
    });

Мне действительно не нужно синхронное чтение, но отставание> 1 минуты слишком велико, и мне каждый раз нужен весь файл. Все, что мне нужно, это читать данные и обрабатывать их построчно для каждой новой строки. поэтому я попробовал код ниже, где я планирую выполнить цикл и передать смещение для каждой итерации. Но этот код не работает по неизвестным причинам. Пожалуйста помоги.

var fs = require('fs');
var path = "D:\\Work\\Jai Ho\\myapp\\public\\testreadwrite.txt";
fs.watch(path, function(event, filename) {
  if(filename){
            fs.stat(path, function(error, stats) {
              fs.open(path, "r", function(error, fd) {
               var buffer = new Buffer(stats.size);
                fs.read(fd, buffer, 0, buffer.length, null, function(error, bytesRead, buffer) {
                  var data = buffer.toString("utf8");
                  console.log(data);
                });
              });
            });

  }
  else{
    console.log('filename not provided')
  }
});  

person usersam    schedule 11.09.2017    source источник
comment
что вы получите, когда вернетесь или зарегистрируете err? также что вы получаете, когда вы регистрируете filename , stats и error в функции stat(), это поможет нам лучше понять, откуда исходит ошибка @sand   -  person turmuka    schedule 11.09.2017
comment
Я добавил if(error){ console.log(error);} в функцию stat(), но это ничего не показывает.   -  person usersam    schedule 11.09.2017
comment
вы можете использовать этот модуль npmjs.com/package/tail. Надежда вам поможет. Пример реализации вы можете посмотреть здесь github.com/shubhambatra/read-log/ блоб/мастер/сервер.js   -  person Shubham Batra    schedule 11.09.2017
comment
Я пытался, но есть проблема с npm install -tail - save. Это дает ошибки. npm ПРЕДУПРЕЖДЕНИЕ необязательно ПРОПУСК ДОПОЛНИТЕЛЬНОЙ ЗАВИСИМОСТИ: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents): npm ПРЕДУПРЕЖДЕНИЕ notsup ПРОПУСК ДОПОЛНИТЕЛЬНОЙ ЗАВИСИМОСТИ: Неподдерживаемая платформа для [email protected]: разыскивается {os:darwin,arch:any} ( текущий: {ОС:win32,архитектура:x64})   -  person usersam    schedule 11.09.2017