UNPKG

yodelay

Version:

Log and send error metrics off with ease.

58 lines (46 loc) 4.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _winstonTransport = require("winston-transport"); var _winstonTransport2 = _interopRequireDefault(_winstonTransport); var _moment = require("moment"); var _moment2 = _interopRequireDefault(_moment); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class UncaughtExceptionTransport extends _winstonTransport2.default { constructor(opts) { super(opts); this.logger = opts.logger; this.slackUrl = opts.slackUrl; this.kibanaUrl = opts.kibanaUrl; this.channel = opts.channel; this.appName = opts.appName; this.childProcess = opts.childProcess; } log(info) { var _this = this; setImmediate(async function () { _this.logger.log({ app: _this.appName, message: info.message, level: info.level, timestamp: info.timestamp }); if (process.env.NODE_ENV !== "development") { _this.childProcess.send(Object.assign({ channel: _this.channel, error: info.message, type: "uncaught_exception", data: "", time: (0, _moment2.default)(info.timestamp) }, { slackUrl: _this.slackUrl, kibanaUrl: _this.kibanaUrl, appName: _this.appName })); } }); } } exports.default = UncaughtExceptionTransport; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BvcnRzL3VuY2F1Z2h0X2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6WyJVbmNhdWdodEV4Y2VwdGlvblRyYW5zcG9ydCIsIlRyYW5zcG9ydCIsImNvbnN0cnVjdG9yIiwib3B0cyIsImxvZ2dlciIsInNsYWNrVXJsIiwia2liYW5hVXJsIiwiY2hhbm5lbCIsImFwcE5hbWUiLCJjaGlsZFByb2Nlc3MiLCJsb2ciLCJpbmZvIiwic2V0SW1tZWRpYXRlIiwiYXBwIiwibWVzc2FnZSIsImxldmVsIiwidGltZXN0YW1wIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwic2VuZCIsImVycm9yIiwidHlwZSIsImRhdGEiLCJ0aW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7Ozs7QUFFQSxNQUFNQSwwQkFBTixTQUF5Q0MsMEJBQXpDLENBQW1EO0FBQ2pEQyxjQUFZQyxJQUFaLEVBQWtCO0FBQ2hCLFVBQU1BLElBQU47O0FBRUEsU0FBS0MsTUFBTCxHQUFjRCxLQUFLQyxNQUFuQjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0JGLEtBQUtFLFFBQXJCO0FBQ0EsU0FBS0MsU0FBTCxHQUFpQkgsS0FBS0csU0FBdEI7QUFDQSxTQUFLQyxPQUFMLEdBQWVKLEtBQUtJLE9BQXBCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlTCxLQUFLSyxPQUFwQjtBQUNBLFNBQUtDLFlBQUwsR0FBb0JOLEtBQUtNLFlBQXpCO0FBQ0Q7O0FBRURDLE1BQUlDLElBQUosRUFBVTtBQUFBOztBQUNSQyxpQkFBYSxrQkFBWTtBQUN2QixZQUFLUixNQUFMLENBQVlNLEdBQVosQ0FBZ0I7QUFDZEcsYUFBSyxNQUFLTCxPQURJO0FBRWRNLGlCQUFTSCxLQUFLRyxPQUZBO0FBR2RDLGVBQU9KLEtBQUtJLEtBSEU7QUFJZEMsbUJBQVdMLEtBQUtLO0FBSkYsT0FBaEI7O0FBT0EsVUFBSUMsUUFBUUMsR0FBUixDQUFZQyxRQUFaLEtBQXlCLGFBQTdCLEVBQTRDO0FBQzFDLGNBQUtWLFlBQUwsQ0FBa0JXLElBQWxCO0FBQ0ViLG1CQUFTLE1BQUtBLE9BRGhCO0FBRUVjLGlCQUFPVixLQUFLRyxPQUZkO0FBR0VRLGdCQUFNLG9CQUhSO0FBSUVDLGdCQUFNLEVBSlI7QUFLRUMsZ0JBQU0sc0JBQU9iLEtBQUtLLFNBQVo7QUFMUixXQU1LO0FBQ0RYLG9CQUFVLE1BQUtBLFFBRGQ7QUFFREMscUJBQVcsTUFBS0EsU0FGZjtBQUdERSxtQkFBUyxNQUFLQTtBQUhiLFNBTkw7QUFZRDtBQUNGLEtBdEJEO0FBdUJEO0FBcENnRDs7a0JBdUNwQ1IsMEIiLCJmaWxlIjoidW5jYXVnaHRfZXhjZXB0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRyYW5zcG9ydCBmcm9tIFwid2luc3Rvbi10cmFuc3BvcnRcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5jbGFzcyBVbmNhdWdodEV4Y2VwdGlvblRyYW5zcG9ydCBleHRlbmRzIFRyYW5zcG9ydCB7XG4gIGNvbnN0cnVjdG9yKG9wdHMpIHtcbiAgICBzdXBlcihvcHRzKTtcblxuICAgIHRoaXMubG9nZ2VyID0gb3B0cy5sb2dnZXI7XG4gICAgdGhpcy5zbGFja1VybCA9IG9wdHMuc2xhY2tVcmw7XG4gICAgdGhpcy5raWJhbmFVcmwgPSBvcHRzLmtpYmFuYVVybDtcbiAgICB0aGlzLmNoYW5uZWwgPSBvcHRzLmNoYW5uZWw7XG4gICAgdGhpcy5hcHBOYW1lID0gb3B0cy5hcHBOYW1lO1xuICAgIHRoaXMuY2hpbGRQcm9jZXNzID0gb3B0cy5jaGlsZFByb2Nlc3M7XG4gIH1cblxuICBsb2coaW5mbykge1xuICAgIHNldEltbWVkaWF0ZShhc3luYyAoKSA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5sb2coe1xuICAgICAgICBhcHA6IHRoaXMuYXBwTmFtZSxcbiAgICAgICAgbWVzc2FnZTogaW5mby5tZXNzYWdlLFxuICAgICAgICBsZXZlbDogaW5mby5sZXZlbCxcbiAgICAgICAgdGltZXN0YW1wOiBpbmZvLnRpbWVzdGFtcFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIHRoaXMuY2hpbGRQcm9jZXNzLnNlbmQoe1xuICAgICAgICAgIGNoYW5uZWw6IHRoaXMuY2hhbm5lbCxcbiAgICAgICAgICBlcnJvcjogaW5mby5tZXNzYWdlLFxuICAgICAgICAgIHR5cGU6IFwidW5jYXVnaHRfZXhjZXB0aW9uXCIsXG4gICAgICAgICAgZGF0YTogXCJcIixcbiAgICAgICAgICB0aW1lOiBtb21lbnQoaW5mby50aW1lc3RhbXApLFxuICAgICAgICAgIC4uLntcbiAgICAgICAgICAgIHNsYWNrVXJsOiB0aGlzLnNsYWNrVXJsLFxuICAgICAgICAgICAga2liYW5hVXJsOiB0aGlzLmtpYmFuYVVybCxcbiAgICAgICAgICAgIGFwcE5hbWU6IHRoaXMuYXBwTmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVW5jYXVnaHRFeGNlcHRpb25UcmFuc3BvcnQ7XG4iXX0=