simple-logstash-tcp
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Quality Gate Status

Maintainability Rating

Reliability Rating

Security Rating

Bugs

Vulnerabilities

Coverage

Pipeline

LogstashTCP

A simple library to send logs and messages to a Logstash instance via NodeJS and TCP.

Quick start

  1. Add LogstashTCP as a dependency of your project. It's as simple as:
npm i logstash-tcp
  1. Import the library
import { LogstashTCP } from 'logstash-tcp';
  1. Start sending logs

  2. Remember to close connection when exiting your application

Examples

Connection

const tcp = new LogstashTCP('localhost', 5005);

Send to Logstash

tcp.sendMessage('Sample log message');

Send complex objects

tcp.send({
    "message": "Weapons ready",
    "level_value": 20000,
    "thread_name": "SHIELD-HelicarrierWeaponsSystem",
    "level": "INFO",
    "host": "shd-hel-616",
    "@version": "1",
    "app_name": "unit-test",
    "app_port": "-1",
    "logger_name": "gov.shield.helicarrier.WeaponsSystem"
  });

Close the connection

This will wait for all queued logs to be sent before closing

tcp.close();

Destroy the connection

This will close the connection immediately and will not send queued logs

tcp.destroy();

Custom payload

If you have fields that are always sent to Logstash, you can define a custom payload which gets sent everytime you send something.

const defaultPayload = {
  app_name: 'My super app',
  app_port: 8080
};
tcp.defaultPayload = defaultPayload;
tcp.sendMessage('Sample log message');

This example will send the following payload

{
    app_name: 'My super app',
    app_port: 8080,
    message: 'Sample log message'
}

Default message field name

If you have a custom name for the 'message' field, you can easely specify it

tcp.customMessageFieldName = '@message';
tcp.sendMessage('Sample log message');

This example will send the following payload

{
    '@message': 'Sample log message'
}

Develop

Write code and run tests against it with npm test.

Note: you need a valid .env file to run tests as it needs a working Logstash or a mock server.

Package Sidebar

Install

npm i simple-logstash-tcp

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

9.46 kB

Total Files

5

Last publish

Collaborators

  • fsorge