🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

@smpx/tail

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@smpx/tail

Watch and tail a file in nodejs

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

@smpx/tail

Watch and tail a file in nodejs tail -f -n     🎉 No Dependencies

Install

npm install @smpx/tail

Or with yarn:

yarn add @smpx/tail

Use

const tail = require('@smpx/tail');

const stream = tail('/var/log/syslog', {
    numLines: 20,
    watch: true,
});

stream.on('line', (line) => {
    console.log(line);
});

stream.on('error', (err) => {
    console.error(err);
});

If you want to stop watching:

stream.close();

API

tail(filename, options)

  • filename: Path of the file to tail
  • options:
    • bufferSize: Use this bufferSize when reading from the file (default 2048)
    • encoding: Encoding of the file (default utf8)
    • numLines: Number of lines to read initially (default 10) (similar to tail -n)
    • watch: Whether to watch the file for changes (default false) (similar to tail -f)
      • Setting this to true will keep the process alive until you call close
    • filter: An optional function to emit only those lines which pass the criteria
      const stream = tail('/var/log/syslog', {
          numLines: 20,
          watch: true,
          filter: (line) => {
              if (!line) return false;
              return JSON.parse(line).level === 'error';
          }
      });
      

Returns:

An eventemitter, with two events, line and error and a function close.

  • on('line', (line) => {}): emitted whenever we read a new line from the file
  • on('error', (err) => {}): emitted whenever there's an error
  • close: a method to close and unwatch the file

LICENSE

MIT

Keywords

tail

FAQs

Package last updated on 07 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts