请求增加日志记录
This commit is contained in:
parent
b6c908a08a
commit
420fa27f5c
@ -85,6 +85,15 @@ func NewHttpClient(reqConfig *define.Request, cacheInstance cache.ICache) (*Http
|
|||||||
requestFinishHandler: make([]define.RequestFinishHandler, 0),
|
requestFinishHandler: make([]define.RequestFinishHandler, 0),
|
||||||
cacheInstance: cacheInstance,
|
cacheInstance: cacheInstance,
|
||||||
}
|
}
|
||||||
|
hc.OnRequestFinish(func(req *define.Request, rep *define.Response) {
|
||||||
|
if rep.IsSuccess {
|
||||||
|
// 请求成功
|
||||||
|
log.Record(req.Ctx, req.Logger, consts.LogLevelInfo, "接口请求成功", req, rep)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 请求失败
|
||||||
|
log.Record(req.Ctx, req.Logger, consts.LogLevelError, "接口请求失败", req, rep)
|
||||||
|
})
|
||||||
return hc, nil
|
return hc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,6 +257,16 @@ func (hc *HttpClient) requestBackendApi() *define.Response {
|
|||||||
|
|
||||||
response := hc.newResponse()
|
response := hc.newResponse()
|
||||||
for i := 0; i < hc.reqConfig.RetryRule.RetryCount+1; i++ {
|
for i := 0; i < hc.reqConfig.RetryRule.RetryCount+1; i++ {
|
||||||
|
if response.Seq > 0 {
|
||||||
|
// 说明是重试, 记录上一次的请求信息
|
||||||
|
response.RequestFinishTime = time.Now().UnixMilli()
|
||||||
|
response.UsedTime = response.RequestFinishTime - response.RequestStartTime
|
||||||
|
for _, itemAfterResponse := range hc.requestFinishHandler {
|
||||||
|
itemAfterResponse(hc.reqConfig, response)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
response.RequestStartTime = time.Now().UnixMilli() // 每次重置请求时间
|
||||||
|
response.RequestFinishTime = 0 // 清空完成时间
|
||||||
response.Seq++
|
response.Seq++
|
||||||
response.RequestCount++
|
response.RequestCount++
|
||||||
if response.RestyResponse, err = hc.request.Send(); nil != err {
|
if response.RestyResponse, err = hc.request.Send(); nil != err {
|
||||||
@ -255,9 +274,6 @@ func (hc *HttpClient) requestBackendApi() *define.Response {
|
|||||||
Type: define.RequestFailTypeSend,
|
Type: define.RequestFailTypeSend,
|
||||||
Message: "response instance is nil",
|
Message: "response instance is nil",
|
||||||
}
|
}
|
||||||
for _, itemAfterResponse := range hc.requestFinishHandler {
|
|
||||||
itemAfterResponse(hc.reqConfig, response)
|
|
||||||
}
|
|
||||||
time.Sleep(time.Duration(hc.reqConfig.RetryRule.RetryTimeInterval) * time.Millisecond)
|
time.Sleep(time.Duration(hc.reqConfig.RetryRule.RetryTimeInterval) * time.Millisecond)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -267,9 +283,6 @@ func (hc *HttpClient) requestBackendApi() *define.Response {
|
|||||||
Type: define.RequestFailTypeSend,
|
Type: define.RequestFailTypeSend,
|
||||||
Message: "response instance is nil",
|
Message: "response instance is nil",
|
||||||
}
|
}
|
||||||
for _, itemAfterResponse := range hc.requestFinishHandler {
|
|
||||||
itemAfterResponse(hc.reqConfig, response)
|
|
||||||
}
|
|
||||||
time.Sleep(time.Duration(hc.reqConfig.RetryRule.RetryTimeInterval) * time.Millisecond)
|
time.Sleep(time.Duration(hc.reqConfig.RetryRule.RetryTimeInterval) * time.Millisecond)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -297,7 +310,12 @@ func (hc *HttpClient) requestBackendApi() *define.Response {
|
|||||||
response.CacheInfo.SetCache, response.CacheInfo.CacheError = hc.setCacheResult(response) // 设置缓存
|
response.CacheInfo.SetCache, response.CacheInfo.CacheError = hc.setCacheResult(response) // 设置缓存
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
response.RequestFinishTime = time.Now().UnixMilli()
|
||||||
|
response.UsedTime = response.RequestFinishTime - response.RequestStartTime
|
||||||
|
// 请求完成hook
|
||||||
|
for _, itemAfterResponse := range hc.requestFinishHandler {
|
||||||
|
itemAfterResponse(hc.reqConfig, response)
|
||||||
|
}
|
||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user