node package manager


winston-graylog2 Build Status


Do you use / like this library? Reach out as we're looking for a maintainer -- we're not actively using this anymore and wouldn't mind leaving it in good hands :)

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