winston-airbrake

An airbrake transport for winston, inspired by the winston-graylog2 transport, powered by node-airbrake.

winston-airbrake

An airbrake transport for winston. Inspired by winston-graylog2 transport and powered by node-airbrake.

Tested on node-0.8.x, requires npm.

  $ npm install winston
  $ npm install winston-airbrake
  var winston = require('winston');
  winston.add(require('winston-airbrake').Airbrake, options);
 

Options:

  • level: Level of messages this transport should log. (default: info)

  • silent: Boolean flag indicating whether to suppress output. (default: false)

  • apiKey: Valid Airbrake API Key (required)

  • host: Your host, to be displayed in Airbrake. (default: require('os').hostname())

  var winston = require('winston');
  var Airbrake = require('winston-airbrake').Airbrake;
  var http = require('http');
 
  var options = {
    "apiKey":"YOUR_API_KEY",
    "host":"YOUR_DOMAIN"
  };
  winston.add(Airbrake, options);
 
  http.createServer(function(reqres) {
    if (req.url === '/' && req.headers['X-Secret'] !== 'my secret') {
      res.writeHead(403);
      res.end('403 - Permission denied');
 
      winston.log('info', '403 - Permission denied');
 
    } else if (req.url === '/breakstuff') {
      res.writeHead(500);
      res.end('500 - Internal Server Error');
    
      winston.log('error', '500 - Internal Server Error');
    }
  }).listen(24755);