UNPKG

kibana-riya

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

64 lines (42 loc) 2.26 kB
'use strict'; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _goodSqueeze = require('good-squeeze'); var _fs = require('fs'); var _log_format_json = require('./log_format_json'); var _log_format_json2 = _interopRequireDefault(_log_format_json); var _log_format_string = require('./log_format_string'); var _log_format_string2 = _interopRequireDefault(_log_format_string); var _log_interceptor = require('./log_interceptor'); module.exports = (function () { function KbnLogger(events, config) { _classCallCheck(this, KbnLogger); this.squeeze = new _goodSqueeze.Squeeze(events); this.format = config.json ? new _log_format_json2['default'](config) : new _log_format_string2['default'](config); this.logInterceptor = new _log_interceptor.LogInterceptor(); if (config.dest === 'stdout') { this.dest = process.stdout; } else { this.dest = (0, _fs.createWriteStream)(config.dest, { flags: 'a', encoding: 'utf8' }); } } _createClass(KbnLogger, [{ key: 'init', value: function init(readstream, emitter, callback) { var _this = this; this.output = readstream.pipe(this.logInterceptor).pipe(this.squeeze).pipe(this.format); this.output.pipe(this.dest); emitter.on('stop', function () { _this.output.unpipe(_this.dest); }); callback(); } }]); return KbnLogger; })();