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