告别线上排查难题!methodTraceLog —— 让 Spring Boot 方法级可观测性触手可及
·
一句话介绍:一个 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
项目地址:
- GitHub:https://github.com/wb04307201/methodTraceLog
- Gitee:https://gitee.com/wb04307201/methodTraceLog
💡 写在最后
在微服务和分布式系统日益复杂的今天,可观测性不再是可选项,而是必备能力。methodTraceLog 的诞生,是为了让每一个 Spring Boot 应用都能以最低的成本获得最专业的方法级观测能力。
不需要搭建 Prometheus + Grafana,不需要接入 SkyWalking,不需要改造代码——一个依赖,全部搞定。
更重要的是,它是AI-First设计的。在 AI 编程助手日益普及的今天,methodTraceLog 让你的应用运行时对 AI 可见,让"AI 帮你查 Bug"从概念变成现实。
试试看,你会爱上这种透明感。 ✨
更多推荐


所有评论(0)