winston-firehose
TypeScript icon, indicating that this package has built-in type declarations

4.0.0-next.0 • Public • Published

Winston Firehose

NodeJS module, winston logging transport which writes to AWS Firehose.

Installation

NPM

npm install winston-firehose

Usage

You can add this logger transport with the following code:

import winston from 'winston';
import { FirehoseTransport } from 'winston-firehose';

// register the transport
const logger = winston.createLogger({
    transports: [
      new FirehoseTransport({
        'streamName': 'firehose_stream_name',
        'firehoseOptions': {
          '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 Firehose in the following format:

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

Options

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

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

useLoggerLevel (boolean) - optional Use winston logger level if set to true. Transport level will default to info if undefined.

useLoggerFormat (boolean) - optional Use winston logger format if set to true. Transport format will default to JSON.stringify if undefined.

Details

At the moment this logger sends (unacknowledged!) log messages into firehose. The behavior if the log message fails to write to Firehose is to emit an 'error' event.

Readme

Keywords

Package Sidebar

Install

npm i winston-firehose

Weekly Downloads

5,956

Version

4.0.0-next.0

License

ISC

Unpacked Size

68.6 kB

Total Files

14

Last publish

Collaborators

  • pkallos