Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 1.54 KB

README.md

File metadata and controls

60 lines (45 loc) · 1.54 KB

winston-airbrake

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

Installation

Tested on node-0.8.x, requires npm.

  $ npm install winston
  $ npm install winston-airbrake

Usage

  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())

Extended example of usage

  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(req, res) {
    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);