分享一种接口的日志格式

概述

我们在项目的开发中会接触到各种各样的接口,有我们给他方提供接口,也有我们请求他方的接口。当我们进行接口排错时,接口的日志显的尤为重要,比如,请求了哪些接口?耗时多久?状态码是什么?

场景

分享一种接口的日志格式_第1张图片

比如我们要开发一个接口,该接口有 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 接口才能完成,那么日志记录应该是这样的。

分享一种接口的日志格式_第2张图片

你可能感兴趣的:(分享一种接口的日志格式)