Назад | Перейти на главную страницу

Программа Node.js не может прочитать текстовый файл .log с ошибкой буфера

Я пытаюсь просмотреть журнал с помощью программы под названием «регистратор». Когда я бегу node logger Я получаю следующую ошибку:

<Buffer 66 72 75 69 74 69 73 68 79 0a>

Файл программы logger выглядит следующим образом:

var fs = require('fs');

var file = fs.createReadStream("veg.log");

file.on('readable', function() {
    var stream = null;
    while(null !== (stream = file.read()))  {
      stream.toString();
      console.log(stream);
      }
});

Кто-нибудь знает, что вызывает ошибку? Файл журнала представляет собой простой текст. Почему это вызывает ошибку в моем буфере и как узнать, что это за буфер и что вызывает к нему неправильный доступ?

Каноническая процедура заключается в использовании буфера для сбора фрагментов данных путем прослушивания on('data') События. Когда поток закончится, on('end') будет сгенерировано событие, и тогда вы сможете что-нибудь сделать с буфером.

Этот код должен делать то, что вам нужно:

var fs = require('fs');

var buffer = '';
var file = fs.createReadStream("veg.log");
file.on('data', function(chunk) {
  buffer += chunk;
});
file.on('end', function () {
  console.log(buffer);
});

Вам необходимо указать параметр буфера для createReadStream функция. Вот так:

var file = fs.createReadStream("veg.log", "utf8");