Skip to content

NodeJS module, winston logging transport which writes to AWS Kinesis Data Stream.

License

Notifications You must be signed in to change notification settings

Pod-Point/winston-kinesis-transport

Repository files navigation

Build Status

Winston AWS Kinesis Transport

NodeJS module, winston logging transport which writes to AWS Kinesis Data Stream.

Installation

NPM

npm install @pod-point/winston-kinesis

Usage

You can add this logger transport with the following code:

var winston = require('winston');
var KinesisTransport = require('@pod-point/winston-kinesis');

// register the transport
var logger = winston.createLogger({
    transports: [
      new KinesisTransport({
        'streamName': 'kinesis_data_stream_name',
        'environment': 'production',
        'kinesisOptions': {
          'region': 'us-east-1'
        }
      })
    ]
  });

// log away!!
// with just a string
logger.info('This is the log message!');

// or with meta info
logger.info('This is the log message!', { snakes: 'delicious' });

This will write messages as strings (using JSON.stringify) into Kinesis in the following format:

{
  timestamp: 2016-05-20T22:48:01.106Z,
  level: "info",
  message: "This is the log message!",
  meta: { snakes: "delicious" }
};

Options

streamName (string) - required The name of the Kinesis data stream to write to.

kinesisOptions (object) - optional/suggested The Kinesis options that are passed directly to the constructor, documented by AWS here

Details

At the moment this logger sends (unacknowledged!) log messages into firehose. Right now the behavior if the log message fails to write to Kinesis is simply to do absolutely nothing and fail silently.

Credits

Originally forked from winston-firehose.

About

NodeJS module, winston logging transport which writes to AWS Kinesis Data Stream.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published