winston-sqs-transport

0.2.0 • Public • Published

Amazon SQS Transport for Winston Build Status

Forked from (https://github.com/justin-roncal/winston-sqs)

Installation via npm

  $ npm install winston
  $ npm install winston-sqs-transport

Usage

const { createLogger, format, transports } = require('winston');
const { SQSTransport } = require('winston-sqs-transport');
const { Config } = require('aws-sdk');
 
const { combine, timestamp, label, printf } = format;
 
const queueUrl = 'your queueUrl';
const sqsOptions = new Config();
sqsOptions.accessKeyId = 'your accessKeyId';
sqsOptions.secretAccessKey = 'your secretAccessKey';
sqsOptions.region = 'your region';
 
const sqsTrans = new SQSTransport({
  queueUrl: queueUrl,
  sqsOptions
});
 
const myFormat = printf(({ level, message, timestamp }) => {
    return `${timestamp} [${level.toUpperCase()}]: ${message}`;
  });
 
const logger = createLogger({
    defaultMeta: {
        application: 'Your App'
    },
    format: combine(
        timestamp(),
        myFormat
      ),
    transports: [
        new transports.Console(),
        sqsTransport
    ],
    exitOnError: false
});
 
logger.info("Message in SQS AWS");
 

In your application console:

2020-06-18T12:46:38.493Z [INFO]: Message in SQS AWS

In your AWS SQS:

{
  message: 'Message in SQS AWS',
  level: 'info',
  application: 'Your App',
  timestamp: '2020-06-18T12:46:38.493Z',
  host: 'NBQSP-FC342',
  env: 'development',
  pid: '4852'
}

Additional options

debug -> displays the error when sending message

encodedBase64 -> transform message body in base64

silent in your unit tests -> In config winston

 
const sqsTrans = new SQSTransport({
  queueUrl: queueUrl,
  sqsOptions,
  debug : true,
  encodedBase64 : true
});
 
 
 

silent send message in your unit tests -> In config winston

 
export const logger = createLogger({
  levels,
  level: 'error',
  exitOnError: false,
  silent: true
  ....
  });
  
Or 
In your file test, import your logger and set properties silente for true:
logger.silent = true;   explicitly
logger.silent = process.env.NODE_ENV == 'test';  by env
 

ENJOY!!!

Package Sidebar

Install

npm i winston-sqs-transport

Weekly Downloads

738

Version

0.2.0

License

MIT

Unpacked Size

11.6 kB

Total Files

6

Last publish

Collaborators

  • diegomjv