Skip to content

Instantly share code, notes, and snippets.

@joshgillies
Last active September 8, 2015 00:29
Show Gist options
  • Save joshgillies/e8b9b23d5eab0be63013 to your computer and use it in GitHub Desktop.
Save joshgillies/e8b9b23d5eab0be63013 to your computer and use it in GitHub Desktop.
module.exports = function logger (hook) {
var setTimeout = require('timers').setTimeout
var url = require('url')
var papertrail = url.parse(hook.env.papertrail)
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: papertrail.hostname,
port: papertrail.port,
hostname: 'datmt',
level: 'debug',
logFormat: function(level, message) {
return '[' + level + '] ' + message;
}
});
ptTransport.on('error', function(err) {
logger && logger.error(err);
// hook.res.end('ran ' + JSON.stringify(papertrail))
});
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());
setTimeout(function () {
hook.res.end('ran ' + JSON.stringify(papertrail))
}, 9000)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment