@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
JavaScript
;
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