UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

48 lines (42 loc) 1.6 kB
'use strict'; var Sentry = require('@sentry/node'); var logger = require('./logger.js'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var Sentry__namespace = /*#__PURE__*/_interopNamespaceDefault(Sentry); exports.LoggerErrorType = void 0; (function (LoggerErrorType) { LoggerErrorType["INFO"] = "info"; LoggerErrorType["DEBUG"] = "debug"; LoggerErrorType["ERROR"] = "error"; LoggerErrorType["WARN"] = "warn"; })(exports.LoggerErrorType || (exports.LoggerErrorType = {})); const captureDprError = (error, message, meta = {}, type = exports.LoggerErrorType.ERROR) => { const stringMeta = Object.keys(meta).length > 0 ? JSON.stringify(meta) : ''; // Log the error to our logs logger.default[type]([message, stringMeta].filter(Boolean).join(' '), error); if (type === exports.LoggerErrorType.ERROR) { const extras = message ? { message, ...meta } : meta; // Capture in sentry Sentry__namespace.withScope(scope => { scope.setExtras(extras); Sentry__namespace.captureException(error); }); } }; exports.captureDprError = captureDprError; //# sourceMappingURL=captureError.js.map