UNPKG

hapi-error-logger

Version:
47 lines (34 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _joi = _interopRequireDefault(require("joi")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const PluginSchema = _joi.default.object().keys({ replyWithStack: _joi.default.bool().optional().default(false).description('whether to add the stack as part of external error payload') }).optional().default({}); const Plugin = { name: 'hapi-error-logger', register(server, options) { const pluginOpts = _joi.default.attempt(options, PluginSchema); // register post response handler that logs 5xx request server.ext('onPreResponse', request => { const { response } = request; // isServer: convenience bool indicating status code >= 500 if (response && response.isBoom && response.isServer) { const error = response.error || response.message; // skip logging if `error.data.skipLogs` is set if (!response.data || !response.data.skipLogs) { request.log(['error'], error); } if (pluginOpts.replyWithStack) { response.output.payload.stack = response.stack; } } return response; }); } }; var _default = Plugin; exports.default = _default; //# sourceMappingURL=index.js.map