分享一种接口的日志格式

时间:2022-07-23
本文章向大家介绍分享一种接口的日志格式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

概述

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

场景

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