Winston v2
  • Updated on 10 Dec 2019
  • 1 minute to read
  • Contributors
  • Print
  • Share
  • Dark
    Light

Winston v2

  • Print
  • Share
  • Dark
    Light

Guide on setting up Stackify's Winston v2 appender to track application logs and errors.

Installation

Install both packages via npm.

$ npm install stackify-logger
$ npm install winston-stackify

Usage

Using the default logger:

var winston = require('winston');
var stackify = require('stackify-logger');

stackify.start({apiKey: '***',  appName: 'Node Application', env: 'Production'});

require('winston-stackify').Stackify;

winston.add(winston.transports.Stackify, {storage : stackify});

Instantiating your own logger:

var winston = require('winston');
var stackify = require('stackify-logger');

stackify.start({apiKey: '***', appName: 'Node Application', env: 'Production'});

require('winston-stackify').Stackify;

var logger = new (winston.Logger)({
    transports: [
        new (winston.transports.Console)(),
        new (winston.transports.Stackify)(options)
    ]
});

Options

The following options could be passed to the start method:

  • apiKey (Required): Stackify API key
  • appName (Required): Application name
  • env: Environment name. If a Stackify agent is installed, this does not need to be set. If a Stackify agent is not installed, this should be set to the environment name.
  • proxy: HTTP proxy
  • debug: Enables internal debug logging for troubleshooting. Defaults to false.

The Stackify Winston transport takes the following options:

  • storage (Required): Stackify logging library instance. You should specify it directly by passing stackify-logger module instance.
  • level: Level of messages that this transport should log.
  • silent: Boolean flag indicating whether to suppress output, defaults to false.
  • handleExceptions: Property set to false by default for this transport because Stackify Logger Library handles exceptions itself already. If you're not using default logger and instantiating your own, you don't need to set this option for Stackify transport.

Troubleshooting

If logging isn't working, enable internal debug logging for Stackify by setting the debug flag in the Stackify options.

stackify.start({apiKey: '***',  appName: 'Node Application', env: 'Production', debug: true});

You will see stackify-debug.log in your application's directory.

Was this article helpful?