Skip to content

general purpose logstash client with multiple transports (logging library independent)

Notifications You must be signed in to change notification settings

purposeindustries/node-logstash-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logstash-client Build Status Coverage Status

General purpose logstash with multiple transport support

Features

  • tcp uses juliangruber's reconnect-net for handling reconnection
  • logging library independent (there are some logstash clients for winston, bunyan etc)

TODOS

  • TCP Transport
  • UDP Transport
  • Memory Transport (for testing)
  • AMQP Transport
  • Codec support

Example

var Logstash = require('logstash-client');

var logstash = new Logstash({
  type: 'udp', // udp, tcp, memory
  host: 'logstash.example.org',
  port: 13333
});
logstash.send(message [, callback]);

API

Constructor

Takes the following parameters:

  • type: type of connection, currently supported tcp, udp, memory
  • host: remote hostname
  • port: remote port
  • format (optional): formatter function (by default the message gets JSON.stringified)
  • maxQueueSize (optional): Restricts the amount of messages queued when there is no connection. If not specified the queue is not limited in size.

Example:

new Client({
  type: 'tcp',
  host: 'logstash.example.org',
  port: 8099,
  format: function(message) {
    message.formattedAt = new Date();
    message.password = '!FILTERED!';
    return JSON.stringify(message, null, 2);
  },
  maxQueueSize: 1000
});

Client#send

Takes the following parameters:

  • message: an object what you are trying to send to your logstash instance
  • callback (optional): a function called when the message has been sent

Example:

var client = new Client({
  type: 'tcp',
  host: 'example.org',
  port: 1337
});
client.send({
  '@timestamp': new Date(),
  'message': 'Important',
  'level': 'error'
});

License

MIT

About

general purpose logstash client with multiple transports (logging library independent)

Resources

Stars

Watchers

Forks

Packages

No packages published