Graylog2 transport for winston, a nodejs logging module
Latest commit 3f8a8e9 Jan 17, 2017 @odino odino 0.6.0
Failed to load latest commit information.
lib Addressing comments on namshi/winston-graylog2#40 Jan 16, 2017
test Merge 69a74ff Jan 16, 2017
.gitignore first commit Feb 3, 2012
.travis.yml Refactoring and update: Oct 19, 2014
LICENSE add license (MIT) Dec 29, 2012 first commit Feb 3, 2012
package.json 0.6.0 Jan 17, 2017 Merge 69a74ff Jan 16, 2017

winston-graylog2 Build Status

A graylog2 transport for winston based on the node-graylog2 Library


Tested on node-0.10.x, requires npm.

  $ npm install winston
  $ npm install winston-graylog2


  var winston = require('winston');
  winston.add(require('winston-graylog2'), options);


var WinstonGraylog2 = require('winston-graylog2');
var logger = new(winston.Logger)({
        exitOnError: false,
        transports: [new(WinstonGraylog2)(options)]


  • name: Transport name
  • level: Level of messages this transport should log. (default: info)
  • silent: Boolean flag indicating whether to suppress output. (default: false)
  • handleExceptions: Boolean flag, whenever to handle uncaught exceptions. (default: false)
  • exceptionsLevel: Level of exceptions logs when handleExceptions is true. (default: error)
  • prelog: Pre-filtering function, to clean message before sending to graylog2 (default: empty function)
  • processMeta: Metadata post-filtering function, to clean the metadata (stack traces, process info) before sending them to graylog2 (default: empty function)
  • graylog:
    • servers; list of graylog2 servers
      • host: your server address (default: localhost)
      • port: your server port (default: 12201)
    • hostname: the name of this host (default: os.hostname())
    • facility: the facility for these log messages (default: "Node.js")
    • bufferSize: max UDP packet size, should never exceed the MTU of your system (default: 1400)
  • staticMeta: meta data to be always used by each logging message, for instance environment (development, staging, live)


  name: 'Graylog',
  level: 'debug',
  silent: false,
  handleExceptions: false,
  prelog: function(msg) {
    return msg.trim();
  graylog: {
    servers: [{host: 'localhost', port: 12201}, {host: '', port: 12201}],
    hostname: 'myServer',
    facility: 'myAwesomeApp',
    bufferSize: 1400
  staticMeta: {env: 'staging'}

Log Levels

Supported log levels, as from node-graylog2, are the following

Winston Level Graylog2 level
emerg emergency
alert alert
crit critical
error error
warning warning
warn warning
notice notice
info info
debug debug

All other possibile winston's level, or custom levels, will default to info