guvnor
Version:
A node process manager that isn't spanners all the way down
31 lines (23 loc) • 688 B
JavaScript
var Transport = require('winston').Transport
var util = require('util')
var Autowire = require('wantsit').Autowire
var DaemonLogger = function () {
Transport.call(this, { level: 'debug' })
this._userRpc = Autowire
this._adminRpc = Autowire
this._logger = Autowire
}
util.inherits(DaemonLogger, Transport)
DaemonLogger.prototype.name = 'daemon'
DaemonLogger.prototype.log = function (level, msg, meta, callback) {
if (this.silent || !process.send) {
return callback(null, true)
}
this._userRpc.broadcast('daemon:log:' + level, {
date: Date.now(),
message: ('' + msg).trim()
})
this.emit('logged')
callback(null, true)
}
module.exports = DaemonLogger