@spalger/kibana
Version:
Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic
57 lines (53 loc) • 1.44 kB
JavaScript
let _ = require('lodash');
let fromNode = require('bluebird').fromNode;
module.exports = function (kbnServer, server, config) {
return fromNode(function (cb) {
let events = config.get('logging.events');
if (config.get('logging.silent')) {
_.defaults(events, {});
}
else if (config.get('logging.quiet')) {
_.defaults(events, {
log: ['listening', 'error', 'fatal'],
error: '*'
});
}
else if (config.get('logging.verbose')) {
_.defaults(events, {
log: '*',
ops: '*',
request: '*',
response: '*',
error: '*'
});
}
else {
_.defaults(events, {
log: ['info', 'warning', 'error', 'fatal'],
response: config.get('logging.json') ? '*' : '!',
error: '*'
});
}
server.register({
register: require('good'),
options: {
opsInterval: 5000,
requestHeaders: true,
requestPayload: true,
reporters: [
{
reporter: require('./LogReporter'),
config: {
json: config.get('logging.json'),
dest: config.get('logging.dest')
},
events: _.transform(events, function (filtered, val, key) {
// provide a string compatible way to remove events
if (val !== '!') filtered[key] = val;
}, {})
}
]
}
}, cb);
});
};