UNPKG

yodelay

Version:

Log and send error metrics off with ease.

39 lines (27 loc) 3.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _unhandledError = require("unhandled-error"); var _unhandledError2 = _interopRequireDefault(_unhandledError); var _moment = require("moment"); var _moment2 = _interopRequireDefault(_moment); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class UnhandledRejectionTransport { constructor(opts) { this.logger = opts.logger; this.appName = opts.appName; this.metric = opts.metric; } initialize() { var _this = this; (0, _unhandledError2.default)(function (error, context) { const errorType = context.hasOwnProperty("promise") ? "unhandled_promise_rejection" : "unhandled_error"; const loggerMessage = _this.logger.logMessageFormat(error.message); _this.logger.log(Object.assign({}, loggerMessage, { level: "error" })); _this.metric.send(loggerMessage, errorType); }, { doNotCrash: true }); } } exports.default = UnhandledRejectionTransport; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BvcnRzL3VuaGFuZGxlZFJlamVjdGlvbi5qcyJdLCJuYW1lcyI6WyJVbmhhbmRsZWRSZWplY3Rpb25UcmFuc3BvcnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJsb2dnZXIiLCJhcHBOYW1lIiwibWV0cmljIiwiaW5pdGlhbGl6ZSIsImVycm9yIiwiY29udGV4dCIsImVycm9yVHlwZSIsImhhc093blByb3BlcnR5IiwibG9nZ2VyTWVzc2FnZSIsImxvZ01lc3NhZ2VGb3JtYXQiLCJtZXNzYWdlIiwibG9nIiwibGV2ZWwiLCJzZW5kIiwiZG9Ob3RDcmFzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsMkJBQU4sQ0FBa0M7QUFDaENDLGNBQVlDLElBQVosRUFBa0I7QUFDaEIsU0FBS0MsTUFBTCxHQUFjRCxLQUFLQyxNQUFuQjtBQUNBLFNBQUtDLE9BQUwsR0FBZUYsS0FBS0UsT0FBcEI7QUFDQSxTQUFLQyxNQUFMLEdBQWNILEtBQUtHLE1BQW5CO0FBQ0Q7O0FBRURDLGVBQWE7QUFBQTs7QUFDWCxrQ0FDRSxVQUFDQyxLQUFELEVBQVFDLE9BQVIsRUFBb0I7QUFDbEIsWUFBTUMsWUFBWUQsUUFBUUUsY0FBUixDQUF1QixTQUF2QixJQUNkLDZCQURjLEdBRWQsaUJBRko7O0FBSUEsWUFBTUMsZ0JBQWdCLE1BQUtSLE1BQUwsQ0FBWVMsZ0JBQVosQ0FBNkJMLE1BQU1NLE9BQW5DLENBQXRCOztBQUVBLFlBQUtWLE1BQUwsQ0FBWVcsR0FBWixtQkFBcUJILGFBQXJCLEVBQXVDLEVBQUVJLE9BQU8sT0FBVCxFQUF2QztBQUNBLFlBQUtWLE1BQUwsQ0FBWVcsSUFBWixDQUFpQkwsYUFBakIsRUFBZ0NGLFNBQWhDO0FBQ0QsS0FWSCxFQVdFLEVBQUVRLFlBQVksSUFBZCxFQVhGO0FBYUQ7QUFyQitCOztrQkF3Qm5CakIsMkIiLCJmaWxlIjoidW5oYW5kbGVkUmVqZWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVuaGFuZGxlZEVycm9yIGZyb20gXCJ1bmhhbmRsZWQtZXJyb3JcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5jbGFzcyBVbmhhbmRsZWRSZWplY3Rpb25UcmFuc3BvcnQge1xuICBjb25zdHJ1Y3RvcihvcHRzKSB7XG4gICAgdGhpcy5sb2dnZXIgPSBvcHRzLmxvZ2dlcjtcbiAgICB0aGlzLmFwcE5hbWUgPSBvcHRzLmFwcE5hbWU7XG4gICAgdGhpcy5tZXRyaWMgPSBvcHRzLm1ldHJpYztcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgdW5oYW5kbGVkRXJyb3IoXG4gICAgICAoZXJyb3IsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JUeXBlID0gY29udGV4dC5oYXNPd25Qcm9wZXJ0eShcInByb21pc2VcIilcbiAgICAgICAgICA/IFwidW5oYW5kbGVkX3Byb21pc2VfcmVqZWN0aW9uXCJcbiAgICAgICAgICA6IFwidW5oYW5kbGVkX2Vycm9yXCI7XG5cbiAgICAgICAgY29uc3QgbG9nZ2VyTWVzc2FnZSA9IHRoaXMubG9nZ2VyLmxvZ01lc3NhZ2VGb3JtYXQoZXJyb3IubWVzc2FnZSk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKHsgLi4ubG9nZ2VyTWVzc2FnZSwgLi4ueyBsZXZlbDogXCJlcnJvclwiIH0gfSk7XG4gICAgICAgIHRoaXMubWV0cmljLnNlbmQobG9nZ2VyTWVzc2FnZSwgZXJyb3JUeXBlKTtcbiAgICAgIH0sXG4gICAgICB7IGRvTm90Q3Jhc2g6IHRydWUgfVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVW5oYW5kbGVkUmVqZWN0aW9uVHJhbnNwb3J0O1xuIl19