Coder Social home page Coder Social logo

winston-logzio's Introduction

Build Status

winston-logzio

A Winston transport wrapper for Logz.io

Installation

npm install winston-logzio --save

Sample usage

var winston = require('winston');
var logzioWinstonTransport = require('winston-logzio');

var loggerOptions = {
    token: '__YOUR_API_TOKEN__',
    host: 'listener.logz.io', // either listener.logz.io for US accounts or listener-eu.logz.io for EU Accounts
    type: 'YourLogType'     // OPTIONAL (If none is set, it will be 'nodejs')
};
winston.add(logzioWinstonTransport, loggerOptions);

winston.log('info', 'winston logger configured with logzio transport');

Make sure you replace __YOUR_API_TOKEN__ with your own logz.io api token.

If you do not have a Logz.io account, you can sign up for a free trial here

Details

This winston plugin, basically just wraps our nodejs logzio shipper.
If you want to configure the nodejs logger, any parameters sent to winston when initializing the transport (what is held in the variable loggerOptions in the sample above) will be passed to the logzio nodejs logger itself.

Logs in my console

The winston logger by default sends all logs to the console.
You can easily disable this by adding this line to your code :

winston.remove(winston.transports.Console);

Logs UncaughtException before Node process exit

To enable logzio to log the last UncaughtException before Node exits,

  • you instantiate winston logger and injecting into it the winston-logzio transport as well as the exceptionHandlers
  • set your Node process to trap UncaughtException
var callback = function() {} ;
var winston = require('winston');
var winstonLogzIO = require( 'winston-logzio' );
var loggerOptions = {
    token: '__YOUR_API_TOKEN__'
};

var logzIOTransport = new (winstonLogzIO)(loggerOptions);
var logger = new(winston.Logger)({
  transports: [
    logzIOTransport
  ],
  exceptionHandlers: [
    logzIOTransport
  ],
  exitOnError: true    // set this to true
});

process.on('uncaughtException', function (err) {
  logger.error("UncaughtException processing: %s", err);
  logzIOTransport.flush( function(callback) {
    process.exit(1);
  });
});

winston-logzio's People

Contributors

gillyb avatar alonmiz avatar johnpeb avatar virtser avatar idohalevi avatar schwin007 avatar meytalguetta avatar

Watchers

James Cloos avatar Dan Kuida avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.