README
Winston Firehose
NodeJS module, winston logging transport which writes to AWS Firehose.
Installation
npm install winston-firehose
Usage
You can add this logger transport with the following code:
var winston = require('winston');
var WFirehose = require('winston-firehose');
// register the transport
var logger = winston.createLogger({
transports: [
new WFirehose({
'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. Right now the behavior if the log message fails to write to Firehose is simply to do absolutely nothing and fail silently.