Node-tail

Nodejs module for tailing a file

View the Project on GitHub lucagrulla/node-tail

Tail

The zero dependency Node.js module for tailing a file

NPM

license npm npm

Author: Luca Grulla - www.lucagrulla.com

Installation

npm install tail

Use

Tail = require('tail').Tail;

tail = new Tail("fileToTail");

tail.on("line", function(data) {
  console.log(data);
});

tail.on("error", function(error) {
  console.log('ERROR: ', error);
});

If you want to stop tail:

tail.unwatch()

To start watching again:

tail.watch()

Configuration

The only mandatory parameter is the path to the file to tail.

var fileToTail = "/path/to/fileToTail.txt";
new Tail(fileToTail)

If the file is missing or invalid Tail constructor will throw an Exception and won’t initialize.

try {
  new Tail('missingFile.txt')
} catch ex {
  console.log(ex)
}

Optional parameters can be passed via a hash:

var options= {separator: /[\r]{0,1}\n/, fromBeginning: false, fsWatchOptions: {}, follow: true, logger: console}
new Tail(fileToTail, options)

Constructor parameters

Emitted events

Tail emits two events:

tail.on('line', (data) => {
  console.log(data)  
})
tail.on('error', (err) => {
  console.log(err)  
})

How to contribute

Tail is written in ES6. Pull Requests are welcome.

History

Tail was born as part of a data firehose. Read about it here. Tail original version was written in CoffeeScript. Since December 2020 it’s pure ES6.

License

MIT. Please see License file for more details.