一句话介绍:一个 Spring Boot Starter,搞定方法追踪、性能监控、日志管理、在线反编译,还能让 AI Agent 直接帮你查 Bug。


🤯 你是否也遇到过这些场景?

  • 线上接口报错了,日志一大堆,却找不到完整调用链
  • 想定位某个方法的耗时,却发现没有埋点数据
  • 排查问题想反编译某个类看看逻辑,却发现环境没有工具
  • 想给 AI 编程助手提供运行时上下文,却无从下手
  • 接入 OpenTelemetry 成本太高,小项目根本折腾不起

如果你中了一条以上,methodTraceLog 就是为你准备的。


🚀 methodTraceLog 是什么?

methodTraceLog 是一个面向 Spring Boot 应用的全功能方法级可观测性组件,只需引入一个 Starter 依赖,即可获得:

能力 说明
🔗 方法调用追踪 基于 AOP 自动拦截,生成 traceid / spanid,构建完整调用链
📊 性能监控 基于 Micrometer,每个方法自动注册 Timer,支持 Actuator 端点
📁 日志文件管理 在线查看、搜索、下载日志文件,支持 WebSocket 实时 Tail
🔍 在线反编译 内置 CFR 反编译器,支持 Spring Boot Fat-Jar,输出对 LLM 友好
🤖 AI Agent 集成 独立 MCP Server,让 Claude / GPT 等 AI 直接查询你的应用
📡 OpenTelemetry 可选 OTLP 导出,与主流可观测平台无缝对接

⚡ 5 分钟快速接入

第一步:添加依赖

<dependency>
    <groupId>io.github.wb04307201</groupId>
    <artifactId>methodTraceLog-spring-boot-starter</artifactId>
    <version>1.0.20</version>
</dependency>

第二步:配置(可选)

method-trace-log:
  log:
    enable: true
    sample-rate: 1.0          # 采样率,0.0 ~ 1.0
    trace-store:
      type: in-memory         # 支持 in-memory / file / none
  file:
    enable: true
    path: ./logs              # 日志文件目录
  security:
    api-key: your-secret-key  # API 鉴权密钥
  decompile:
    timeout-seconds: 10

第三步:开箱即用!

启动应用后访问:

http://localhost:8080/methodTraceLog/panel

你将看到一个功能完备的 Web 控制台 👇


🖥️ Web 控制台一览

控制台包含四大功能模块:

📋 概览(Overview)

服务状态一目了然:各功能模块开关状态、方法调用统计、成功率、平均耗时等核心指标卡片。

🔗 调用记录(Traces)

  • 按类名、方法名、traceId 搜索过滤
  • 导出为 JSON / CSV
  • 点击任意记录查看完整调用链树,父子关系清晰呈现
  • 支持 W3C TraceParent 标准,与上下游系统无缝串联

📁 日志文件(Logs)

  • 在线浏览日志目录,按关键字搜索
  • 支持分页查看大文件
  • WebSocket 实时 Tail:像 tail -f 一样实时查看日志输出

🔍 反编译(Decompile)

  • 输入类名即可查看源码,无需本地安装反编译工具
  • 支持 Spring Boot Fat-Jar 内嵌套的 class 文件
  • 自动去除注解,输出干净的代码,适合喂给 AI 分析

🤖 AI-First:让 AI Agent 直接帮你排查问题

这是 methodTraceLog 最独特的能力——通过独立的 MCP Server,AI 编程助手可以:

  • 查询最近的方法调用记录
  • 根据 traceId 获取完整调用链
  • 在线反编译指定类/方法
  • 查看和搜索日志文件内容
  • 远程控制日志监控的启停

接入方式(以 Claude Code 为例)

{
  "mcpServers": {
    "methodTraceLog-mcp": {
      "command": "jbang",
      "args": [
        "io.github.wb04307201:methodTraceLog-mcp:1.0.20",
        "--method-trace-log.mcp.hosts[0].name=local-dev",
        "--method-trace-log.mcp.hosts[0].url=http://localhost:8080",
        "--method-trace-log.mcp.hosts[0].api-key=your-key"
      ]
    }
  }
}

配置完成后,AI 助手就拥有了 13 个工具,可以直接查询你的应用运行时数据。

零侵入设计:MCP Server 是独立进程,核心库不依赖任何 AI 框架,生产环境安心使用。


🏗️ 架构设计亮点

模块化设计

methodTraceLog-parent
├── methodTraceLog                          # 核心库(无 AI 依赖)
├── methodTraceLog-spring-boot-autoconfigure # 自动配置
├── methodTraceLog-spring-boot-starter       # Starter 入口
├── methodTraceLog-mcp                       # MCP Server(独立进程)
└── methodTraceLog-test                      # 测试用例

安全第一

  • 🔒 路径穿越防护:日志目录白名单校验
  • 🔑 双重认证:API Key(CLI/MCP)+ Cookie Session(浏览器)
  • ⏱️ 超时保护:反编译器默认 10s 超时
  • 📦 大小限制:单类 50MB 上限

标准化

  • 遵循 W3C Trace Context 规范传播 traceparent
  • 兼容 OpenTelemetry OTLP/HTTP 导出
  • 支持 Micrometer + Actuator 生态

可扩展

  • 自定义 ICallService 实现自动发现
  • 多种 Trace 存储策略:内存 / 文件 / 无存储
  • 采样率灵活配置,适配不同流量场景

📊 技术栈

技术 说明
Java 17+ 最低要求
Spring Boot 3.5.x 框架基座
Spring AOP (AspectJ) 方法拦截
Micrometer 指标采集
CFR 0.152 反编译引擎
STOMP + SockJS WebSocket 实时推送
OpenTelemetry SDK 1.41 可选 Tracing 导出
Spring AI MCP Server 1.1.7 AI Agent 协议支持

🎯 适合谁用?

  • 独立开发者:一个人维护多个服务,需要轻量级的观测方案
  • 小中型团队:不想搭建完整的可观测平台,但需要调用链和性能数据
  • AI 辅助开发:希望 AI 编程助手能感知运行时状态,提升排查效率
  • 学习研究:想深入理解 AOP、分布式追踪、MCP 协议的实现细节

📦 立即开始

<!-- Maven -->
<dependency>
    <groupId>io.github.wb04307201</groupId>
    <artifactId>methodTraceLog-spring-boot-starter</artifactId>
    <version>1.0.20</version>
</dependency>
// Gradle
implementation 'io.github.wb04307201:methodTraceLog-spring-boot-starter:1.0.20'

开源协议:Apache License 2.0

项目地址


💡 写在最后

在微服务和分布式系统日益复杂的今天,可观测性不再是可选项,而是必备能力。methodTraceLog 的诞生,是为了让每一个 Spring Boot 应用都能以最低的成本获得最专业的方法级观测能力

不需要搭建 Prometheus + Grafana,不需要接入 SkyWalking,不需要改造代码——一个依赖,全部搞定

更重要的是,它是AI-First设计的。在 AI 编程助手日益普及的今天,methodTraceLog 让你的应用运行时对 AI 可见,让"AI 帮你查 Bug"从概念变成现实。

试试看,你会爱上这种透明感。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐