UNPKG

yodelay

Version:

Log and send error metrics off with ease.

29 lines (23 loc) 725 B
import unhandledError from "unhandled-error"; import moment from "moment"; class UnhandledRejectionTransport { constructor(opts) { this.logger = opts.logger; this.appName = opts.appName; this.metric = opts.metric; } initialize() { unhandledError( (error, context) => { const errorType = context.hasOwnProperty("promise") ? "unhandled_promise_rejection" : "unhandled_error"; const loggerMessage = this.logger.logMessageFormat(error.message); this.logger.log({ ...loggerMessage, ...{ level: "error" } }); this.metric.send(loggerMessage, errorType); }, { doNotCrash: true } ); } } export default UnhandledRejectionTransport;