Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuy-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
1
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
htoooth
6 years ago
Commit
322e1ea6cb5188c4e7d6dc7587abffd325a3de05
1 parent
8438dd3b
fix move error report to nodelib
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
30 deletions
doraemon/middleware/error-handler.js
doraemon/middleware/error-handler.js
View file @
322e1ea
...
...
@@ -6,10 +6,7 @@ const headerModel = require('../models/header');
const
logger
=
global
.
yoho
.
logger
;
const
cache
=
global
.
yoho
.
cache
.
master
;
const
helpers
=
global
.
yoho
.
helpers
;
const
sender
=
global
.
yoho
.
apmSender
;
const
config
=
global
.
yoho
.
config
;
const
hostname
=
require
(
'os'
).
hostname
();
const
routeEncode
=
require
(
'./route-encode'
);
const
pathWhiteList
=
require
(
'./limiter/rules/path-white-list'
);
const
ipWhiteList
=
require
(
'./limiter/rules/ip-white-list'
);
const
_
=
require
(
'lodash'
);
...
...
@@ -62,45 +59,20 @@ exports.serverError = () => {
return
async
(
err
,
req
,
res
,
next
)
=>
{
forceNoCache
(
res
);
const
uid
=
req
.
user
?
req
.
user
.
uid
:
0
;
const
udid
=
_
.
get
(
req
,
'cookies.udid'
,
'yoho'
);
let
errorCode
=
500
;
err
=
err
||
{
code
:
500
};
req
.
err
=
err
;
err
.
code
=
parseInt
(
err
.
code
||
err
.
statusCode
,
10
)
||
500
;
if
(
statusCodeList
.
indexOf
(
err
.
code
)
>=
0
)
{
errorCode
=
err
.
code
;
}
if
(
req
.
isApmReport
&&
!
err
.
apiError
)
{
// apierror在node lib中已经上报过了 不需要再次上报
// 上报服务端错误
sender
.
addMessage
({
measurement
:
'error-report'
,
tags
:
{
app
:
global
.
yoho
.
config
.
appName
,
// 应用名称
hostname
,
type
:
'server'
,
route
:
`
[
$
{
req
.
method
}]
$
{
req
.
route
&&
req
.
route
.
path
}
`
,
// 请求路由
reqID
:
req
.
reqID
,
uid
,
udid
,
code
:
err
.
code
||
500
,
path
:
`
[
$
{
req
.
method
}]
$
{
routeEncode
.
getRouter
(
req
)}
`
,
url
:
encodeURIComponent
(
req
.
originalUrl
),
ip
:
_
.
get
(
req
,
'yoho.clientIp'
,
''
)
},
fields
:
{
message
:
err
.
message
,
stack
:
err
.
stack
,
useragent
:
req
&&
req
.
get
(
'user-agent'
)
}
});
}
logger
.
error
(
`
error
at
path
:
$
{
req
.
url
}
`
);
logger
.
error
(
err
);
...
...
Please
register
or
login
to post a comment