const util = require('util') const winston = require('winston') const _ = require('lodash') // ------------------------------------ // Rollbar // ------------------------------------ module.exports = { key: 'rollbar', title: 'Rollbar', props: ['key'], init (logger, conf) { let RollbarLogger = winston.transports.RollbarLogger = function (options) { this.name = 'rollbarLogger' this.level = options.level || 'warn' this.rollbar = require('rollbar') this.rollbar.init(options.key) } util.inherits(RollbarLogger, winston.Transport) RollbarLogger.prototype.log = function (level, msg, meta, callback) { this.rollbar.handleErrorWithPayloadData(new Error(msg), _.assignIn(meta, { level })) callback(null, true) } logger.add(RollbarLogger, { level: 'warn', key: conf.key }) } }