当前位置: 首页 > news >正文

告别线上排查难题!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:truesample-rate:1.0# 采样率,0.0 ~ 1.0trace-store:type:in-memory# 支持 in-memory / file / nonefile:enable:truepath:./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 + SockJSWebSocket 实时推送
OpenTelemetry SDK 1.41可选 Tracing 导出
Spring AI MCP Server 1.1.7AI Agent 协议支持

🎯 适合谁用?

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

📦 立即开始

<!-- Maven --><dependency><groupId>io.github.wb04307201</groupId><artifactId>methodTraceLog-spring-boot-starter</artifactId><version>1.0.20</version></dependency>
// Gradleimplementation'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"从概念变成现实。

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

http://www.jsqmd.com/news/1080172/

相关文章:

  • Java微服务开发环境迁移VMware的生死线:CPU核数、Swap分区与GC日志联动调优的4个硬指标(附Grafana监控模板)
  • 如何快速修复损坏MP4视频:开源工具的完整指南
  • 球迷必装!NAS部署2026世界杯开源伴侣,比分/赛程/预测一站搞定
  • 2026年集团多组织协同、央企信创适配、中小企业易上手系统盘点
  • 巨量本地推:投放方法、计费模式与效果怎么样
  • 每单元存1比特和4比特差多远?Flash颗粒SLC到QLC的物理极限与工程突围
  • 2026年GEO优化服务商综合实力排行榜:从流量收割到心智占领的选型指南
  • 性价比高的风车靶哪个靠谱
  • i.MX 6与i.MX 7系列选型指南:从核心架构到外设接口的实战解析
  • IDEA 无法打印Mybatis、Mybatis Plus日志的解决办法
  • 2026年外贸建站公司哪家好?多语言、谷歌收录和询盘能力对比
  • C语言 strtok 避坑指南:它为什么不会自动切割?
  • trending_AI Agent 智能体架构设计
  • 300 个 Agent 一起干活,Claude 负责验收:一次自进化的 Loop Engineering 实践
  • 大棚积温积光自动监测,标准化种植更省心
  • RK3568嵌入式Linux硬件OSD实现:基于DRM的高性能图层叠加方案
  • 34.工业标准物料分拣系统:传送带 + 气缸时序动作 + 自动计数全工程落地
  • AI智能体赋能科研全链路:从选题挖掘到CNS顶刊跃迁—构建高水平论文写作、可视化与审稿博弈的方法论体系
  • Playwright网络请求拦截与Mock实战:提升自动化测试效率与稳定性
  • 3分钟学会PS修图:模糊的照片变清晰零基础通用教程
  • 从合同系统到财务入账:业财一体化的 4 个关键节点
  • 计算机毕业设计之 基于微信小程序的生鲜系统的设计与实现
  • [特殊字符]《淘宝开放平台个人开发者 vs 企业开发者权限与接口差异对比》(附Python源码)
  • configure 完整使用手册(零基础·全覆盖·可直接查阅)
  • 【IDEA极速部署手册】:从下载到运行Hello World仅需137秒——含自动环境检测脚本(GitHub Star 2.4k)
  • 非技术创业者如何用AI快速验证App创业项目
  • 南安普顿大学补考想转国内?这份申请攻略收好
  • Switch device-crx:高效模拟多设备,解决Web跨平台兼容性测试痛点
  • 谷歌收录及流量恢复帮助:尚未建索引?干预7天就出结果
  • GLM-4.7-Flash 量化版本地部署,1 张 4090 开跑