|
@@ -9,14 +9,21 @@ module.exports = options => {
|
|
errmsg = '服务发生错误',
|
|
errmsg = '服务发生错误',
|
|
details;
|
|
details;
|
|
const emailData = {};
|
|
const emailData = {};
|
|
- if (_.isNumber(e.errcode)) {
|
|
|
|
|
|
+ const ekeys = Object.keys(e);
|
|
|
|
+ if (ekeys.includes('errcode')) {
|
|
|
|
+ // 人为抛出异常
|
|
errcode = _.get(e, 'errcode');
|
|
errcode = _.get(e, 'errcode');
|
|
errmsg = _.get(e, 'errmsg');
|
|
errmsg = _.get(e, 'errmsg');
|
|
details = _.get(e, 'details');
|
|
details = _.get(e, 'details');
|
|
emailData.errmsg = errmsg;
|
|
emailData.errmsg = errmsg;
|
|
emailData.details = details;
|
|
emailData.details = details;
|
|
} else {
|
|
} else {
|
|
|
|
+ // 由assert/参数判断抛出的
|
|
|
|
+ errmsg = e.message;
|
|
emailData.errmsg = e.stack;
|
|
emailData.errmsg = e.stack;
|
|
|
|
+ if (process.env.NODE_ENV === 'development') {
|
|
|
|
+ details = e.stack;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
emailData.errcode = errcode;
|
|
emailData.errcode = errcode;
|
|
const request = ctx.request;
|
|
const request = ctx.request;
|
|
@@ -24,6 +31,7 @@ module.exports = options => {
|
|
let body = _.get(request, 'body');
|
|
let body = _.get(request, 'body');
|
|
if (body) body = JSON.stringify(body, null, 1);
|
|
if (body) body = JSON.stringify(body, null, 1);
|
|
emailData.errmsg = `${url}\n${body}\n${emailData.errmsg}`;
|
|
emailData.errmsg = `${url}\n${body}\n${emailData.errmsg}`;
|
|
|
|
+ // console.log(emailData.errmsg);
|
|
// 未定义的错误需要发邮件,定义的错误不需要
|
|
// 未定义的错误需要发邮件,定义的错误不需要
|
|
if (!_.isNumber(e.errcode)) {
|
|
if (!_.isNumber(e.errcode)) {
|
|
// 非开发模式发送邮件
|
|
// 非开发模式发送邮件
|