logstash-redis

Uber simple Logstash logging using Redis

Usage no npm install needed!

<script type="module">
  import logstashRedis from 'https://cdn.skypack.dev/logstash-redis';
</script>

README

logstash-redis

Uber simple Logstash logging using Redis

Node version: 0.8.0 required

Build status: Build Status

NPM

Installation

npm install logstash-redis

Usage

The simple way:

var logstashRedis = require('logstash-redis');

var logger = logstashRedis.createLogger('127.0.0.1', 6379, 'key');

logger.log({ a: 1234, b: 'hello' });

logger.close();

Using a base object for each log:

var logstashRedis = require('logstash-redis');

var baseObject = {
  type: 'someValue',
  env: "prod-1234"
};

var logger = logstashRedis.createLogger('127.0.0.1', 6379, 'key', baseObject);

logger.log({ a: 1234, b: 'hello' });

logger.close();

Using a base function for each log:

var logstashRedis = require('logstash-redis');

var baseFunction = function(){
  return  {
    type: 'someValue',
    meta: {
      timestamp: new Date().toISOString(),
      host: require('os').hostname()
    }
  };
};

var logger = logstashRedis.createLogger('127.0.0.1', 6379, 'key', baseFunction);

logger.log({ a: 1234, b: 'hello' });

logger.close();

API

createLogger(host, port, key, [base])

Initiate a Redis connection. When the base parameter is specified, it is used as a base for each log object. It can be an object or a function.

logger.log(data, [callback])

Logs some data asynchronously. Data is a valid javascript object. If a base object or function had been provided during initialisation, data will extend it.

logger.onError(fn)

Subscribes a function fn to the error event. When the error will happen fn will be executed with some error details as parameter.

logger.close([callback]);

Cleanly closes the Redis connection (all replies will be parsed).

The NullLogger

It does exactly nothing. Good for testing.

var logstashRedis = require('logstash-redis');

var logger = logstashRedis.createNullLogger();

logger.log({ a: 1234, b: 'hello' });
// does nothing

logger.close();
// does nothing

Tests

npm test

License

MIT

Contributors