ApiBoot为接口服务而生,基于SpringBoot完成扩展、自动化配置,通过封装一系列Starter来让调用者快速集成组件,降低学习、使用门槛,提高开发效率。

ApiBoot 官网

官网地址:http://apiboot.minbox.io

更新日志

2.1.1.RELEASE (2019-7-16日发布)

  • ApiBoot Logging 初版发布
  • 零侵入代码设计
  • 支持链路日志输出
  • 支持SpringCloud Openfeign透传日志链路信息
  • 支持请求完成后多个Order Notice通知请求日志信息
  • 支持请求异常堆栈信息保存
  • 支持读取RequestBody内容
  • 支持读取ResponseBody内容
  • 支持请求日志关联具体服务Id
  • 支持自定义存储日志
  • ApiBoot OAuth
  • 支持Redis存储Token
  • 支持内存方式、Redis方式配置多客户端
  • 支持内存方式、Redis方式配置token有效期
  • ApiBoot Mybatis Enhance
  • 丰富示例
  • 官网文档更新

ApiBoot 零侵入、链路式请求日志分析框架

ApiBoot提供单应用、微服务应用下的请求日志分析框架ApiBoot Logging,特性列表如下所示:

  • 链路:为每一个请求生成一个链路的单条或者多条请求日志信息,精准定位程序出现问题的位置。
  • 耗时:可以分析出每一个请求的耗时,改善服务的性能瓶颈
  • 异常信息:请求遇到异常,提供请求日志的异常堆栈信息记录
  • 请求参数:可以获取RequestBodyPathParam两种方式的参数
  • 响应内容:可以获取本次请求响应的内容信息。
  • 服务信息:可获取提供服务的ID、IP、Port等信息。
  • 异步通知:请求日志数据采集后通过Event/Listener方式异步通知给RPCMQRESTLocal
  • 数据分析:阈值警告、异常通知等(短信、邮件等方式,2.1.1.RELEASE版本未实现.)

ApiBoot Logging内部采用拦截器Filter组合完成一系列的操作。

  1. 如果一个请求的header信息内包含traceId(链路ID)则加入该链路,如果不存在则生成新的链路信息
  2. 如果一个请求的header信息内包含spanId(跨度ID),则使用该spanId作为parent spanId,对两个请求进行上下级关联。

架构设计图