winston-endpoint

Winston transport for sending logs to an HTTP endpoint

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
winston-endpoint
1.0.15 years ago5 years agoMinified + gzip package size for winston-endpoint in KB

Readme

npm version Build status Dependencies

Motivation

The HTTP transport included with winston uses a JSON-RPC format, which is not how all log services expect their data. This transport allows a more customizable format.

Use

Each of the following methods will add this transport to your instance of winston. You may try any of these examples by first creating a RequestBin at https://requestb.in/ and using it in place of the URL below. See the fourth example for an overview of available options.
const winston = require('winston');
const Endpoint = require('winston-endpoint');
winston.add(Endpoint, { url: 'http://requestb.in/1hc2i4h13' });
winston.info('So say we all.');

const winston = require('winston');
const Endpoint = require('winston-endpoint');
winston.configure({
  transports: [
    new Endpoint({ url: 'http://requestb.in/1hc2i4h13' })
  ]
});
winston.info('So say we all.');

const winston = require('winston');
const Endpoint = require('winston-endpoint');
const logger = new winston.Logger({
  transports: [
    new Endpoint({ url: 'http://requestb.in/1hc2i4h13' })
  ]
})
logger.info('So say we all.');

const winston = require('winston');
const Endpoint = require('winston-endpoint');
winston.loggers.add('galactica', {
  endpoint: {
    url: 'http://requestb.in/1hc2i4h13', // endpoint to send logs to (no default)
    json: false, // send the log as a JSON object or a plain string (default: false)
    silent: false, // setting to true will effectively turn this transport off (default: false)
    level: 'info', // the minimum level required to trigger this transport
    prependLevel: true, // when json: false, whether to add the log level to the beginning of the string (default: true)
    appendMeta: true, // when json: false, whether to add the meta data object to the end of the string (default: true)
    http: {} // see below
  }
});
winston.loggers.get('galactica').info('So say we all.');

The underlying library for this transport is got, and you can pass any options it accepts through the http field in the options object.
šŸ™ƒ