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)
-
projectId: Valid Airbrake Project ID (required)
-
env: Environment, to be displayed in Airbrake. (default: production)
var winston = require('winston');
var Airbrake = require('winston-airbrake').Airbrake;
var http = require('http');
var options = {
"apiKey":"YOUR_API_KEY",
"projectId":"YOUR_AIRBRAKE_PROJECT_ID",
};
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);