分享一种接口的日志格式

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 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 接口才能完成,那么日志记录应该是这样的。

cc23837f9f1f10c49ded3adedbeb7c8e.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
JSON Java 测试技术
为了理直气壮怼回去,写了一个日志切面输出接口出入参数
我们在日常排查问题过程中知道,入参传错是导致接口调用失败的常见原因之一。特别是提供给第三方调用的**回调接口和openAPI接口**,由于无法保证第三方开发人员的水平,经常问题不断,反反复复找你问为啥掉不通,甚至吐槽写的“啥玩意接口”,这时候你肯定一脸懵逼,怒火中烧,想展开撕逼甩锅大战,但是对方有可能是甲方金主爸爸并且你没有第一时间掌握证据证明证是对方调用的问题,你只能忍着问他是如何调接口的,卑微请求他把传参发过来看看。。。为了扭转局势,挺直腰杆怼回去:能不能靠谱点?今天我们就来讲讲系统服务中如何优雅地实现统一打印接口API参数日志,方便服务端开发快速甩锅还能拿出证据!!!
213 0
为了理直气壮怼回去,写了一个日志切面输出接口出入参数
|
8月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
320 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
4月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
|
5月前
|
存储 监控 Java
|
6月前
|
存储 开发框架 前端开发
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
|
7月前
|
C++
spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富
spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富
421 6
|
6月前
|
存储 弹性计算 运维
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
48 0
|
6月前
|
监控 存储
日志存储问题之志格式的乱象如何解决
日志存储问题之志格式的乱象如何解决
|
6月前
|
JSON 应用服务中间件 开发工具
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置