sink.json = function (level, qualifier, label, body, system) { queue.push({ when: this.Date.now(), level: level, qualifier: qualifier, label: label, body: body, system: system }) }
sink.json = function (level, qualifier, label, body, system) { if (triage(LEVEL[level], qualifier, label, body, system)) { var header = { when: body.when || this.Date.now(), level: level, qualifier: qualifier, label: label, qualified: qualifier + '#' + label } for (var key in system) { header[key] = system[key] } for (var key in body) { header[key] = body[key] } queue.push(header) } }
descendent.on('prolific:accept', this._handlers.accept = function (message) { assert(message.body.triage) var triage = Evaluator.create(message.body.triage, require('prolific.require').require) assert(triage) sink.json = function (level, qualifier, label, body, system) { if (triage(LEVEL[level], qualifier, label, body, system)) { var header = { when: body.when || this.Date.now(), level: level, qualifier: qualifier, label: label, qualified: qualifier + '#' + label } for (var key in system) { header[key] = system[key] } for (var key in body) { header[key] = body[key] } queue.push(header) } } queue.push([{ method: 'version', version: message.body.version }]) })
descendent.once('prolific:pipe', this._handlers.pipe = function (message, handle) { queue.setPipe(handle) })
Shuttle.prototype._listen = function (descendent, options, callback) { var now = coalesce(options.Date, Date).now() var monitorProcessId = +descendent.process.env.PROLIFIC_SUPERVISOR_PROCESS_ID descendent.increment() var id = [ descendent.process.pid, now ] var path = descendent.path.splice(descendent.path.indexOf(monitorProcessId)) var queue = new Queue(512, id, descendent.process.stderr, { path: path }) queue.send(callback) this._queue = queue if (options.uncaughtException != null) { var uncaughtException = this.uncaughtException(options.uncaughtException, queue) descendent.process.on('uncaughtException', function (error) { uncaughtException(error) }) } if (options.exit != null) { descendent.process.on('exit', queue.exit.bind(queue)) } // All filtering will be performed by the monitor initially. Until // we get a configuration we send everything. var sink = require('prolific.resolver').sink sink.json = function (level, qualifier, label, body, system) { queue.push({ when: this.Date.now(), level: level, qualifier: qualifier, label: label, body: body, system: system }) } this._handlers = { pipe: null, accept: null } descendent.once('prolific:pipe', this._handlers.pipe = function (message, handle) { queue.setPipe(handle) }) descendent.on('prolific:accept', this._handlers.accept = function (message) { assert(message.body.triage) var triage = Evaluator.create(message.body.triage, require('prolific.require').require) assert(triage) sink.json = function (level, qualifier, label, body, system) { if (triage(LEVEL[level], qualifier, label, body, system)) { var header = { when: body.when || this.Date.now(), level: level, qualifier: qualifier, label: label, qualified: qualifier + '#' + label } for (var key in system) { header[key] = system[key] } for (var key in body) { header[key] = body[key] } queue.push(header) } } queue.push([{ method: 'version', version: message.body.version }]) }) descendent.up(monitorProcessId, 'prolific:shuttle', id.join('/')) }