node-tail

Your zero depenency NodeJS package for tailing files

View the Project on GitHub lucagrulla/node-tail

Tail

The zero dependency Node.js module for tailing a file

NPM

license npm npm

Made with ❤️ by Luca Grulla

  1. Tail
    1. Installation
    2. Use
    3. Configuration
      1. Constructor parameters
    4. Emitted events
    5. How to contribute
    6. History
    7. License

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)  
})

The error emitted is either the underlying exception or a descriptive string.

How to contribute

Node Tail code repo is here Tail is written in ES6. Pull Requests are welcome.

History

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

License

MIT. Please see License file for more details.