winston-papertrail
A Papertrail transport for winston.
Installation
Installing npm (node package manager)
$ curl http://npmjs.org/install.sh | sh
Installing winston-papertrail
$ npm install winston
$ npm install winston-papertrail
There are a few required options for logging to Papertrail:
- host: FQDN or IP Address of the Papertrail Service Endpoint
- port: The TLS Endpoint TCP Port
Usage
var winston = require('winston');
require('winston-papertrail').Papertrail;
var logger = new winston.Logger({
transports: [
new winston.transports.Papertrail({
host: 'logs.papertrailapp.com',
port: 12345
})
]
});
logger.info('this is my message');
For more some advanced logging, you can take advantage of custom formatting for
Papertrail:
var winston = require('winston');
require('winston-papertrail').Papertrail;
var logger = new winston.Logger({
transports: [
new winston.transports.Papertrail({
host: 'logs.papertrailapp.com',
port: 12345,
logFormat: function(level, message) {
return '<<<' + level + '>>> ' + message;
}
})
]
});
logger.info('this is my message');
The Papertrail transport is also capable of emitting events for error
and connect
so you can log to other transports:
var winston = require('winston'),
Papertrail = require('winston-papertrail').Papertrail;
var logger,
consoleLogger = new winston.transports.Console({
level: 'debug',
timestamp: function() {
return new Date().toString();
},
colorize: true
}),
ptTransport = new Papertrail({
host: 'logs.papertrailapp.com',
port: 12345,
hostname: 'web-01',
logFormat: function(level, message) {
return '[' + level + '] ' + message;
}
});
ptTransport.on('error', function(err) {
logger && logger.error(err);
});
ptTransport.on('connect', function(message) {
logger && logger.info(message);
});
var logger = new winston.Logger({
levels: {
debug: 0,
info: 1,
warn: 2,
error: 3
},
transports: [
ptTransport,
consoleLogger
]
});
logger.info('this is my message ' + new Date().getTime());
Currently, the Papertrail transport only supports TLS logging.