我们在项目的开发中会接触到各种各样的接口,有我们给他方提供接口,也有我们请求他方的接口。当我们进行接口排错时,接口的日志显的尤为重要,比如,请求了哪些接口?耗时多久?状态码是什么?
比如我们要开发一个接口,该接口有 3 个子流程,每个子流程又分别请求了第三方的 HTTP 接口,然后再进行逻辑处理,返回结果,这时接口日志你会怎么记?
假如我们需要记录以下参数:
请求信息 request
请求地址 url
请求体 body
请求方法 method
请求头 header
请求超时时间 ttl
响应信息 response
响应头 header
状态码 status_code
状态信息 status_msg
响应体 body
对话信息 dialogs
响应头 header
状态码 status_code
状态信息 status_msg
响应体 body
请求地址 url
请求体 body
请求方法 method
请求头 header
请求超时时间 ttl
请求信息 request
响应信息 response
执行时间 cost_seconds
ps: 当请求多个接口时,上面的结构为多组。
请求时间 req_time
执行时间 cost_seconds
我们提供一个对外接口,/user/create
,这里面的逻辑是需要查询 3 个 HTTP 接口才能完成,那么日志记录应该是这样的。