wikijs-fork/server/modules/logging/rollbar/logger.js

30 lines
810 B
JavaScript
Raw Permalink Normal View History

2017-12-24 05:34:47 +00:00
const util = require('util')
const winston = require('winston')
const _ = require('lodash')
// ------------------------------------
// Rollbar
// ------------------------------------
module.exports = {
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(new RollbarLogger({
2017-12-24 05:34:47 +00:00
level: 'warn',
key: conf.key
}))
2017-12-24 05:34:47 +00:00
}
}