AI-powered Android Logcat Analysis Tool — Crash Detection, Root Cause Analysis & Intelligent Reporting.
Android logcat 日志量巨大,传统 grep + 人工逐行排查耗时且容易遗漏关键异常。
AI Log Analyzer 通过以下能力解决这一问题:
- 30+ 异常模式识别 — 自动扫描崩溃/ANR/OOM/网络超时等场景
- 堆栈指纹聚类 — 同根因崩溃自动去重,避免重复排查
- 时间线分析 — 还原异常发生前后的上下文,检测崩溃重启循环
- AI 根因推理 — 将聚类后的崩溃提交给 DeepSeek/OpenAI 进行诊断,生成修复建议
帮助测试工程师和 Android 开发者从分钟级人工排查缩短到秒级自动定位。
- 自动识别 Java Fatal Exception / ANR / Native Tombstone
- 30+ 正则模式覆盖:内存溢出、数据库错误、网络安全、IPC 超时、UI 卡顿等
- 按严重程度分类:Fatal / Error / Warning / Info
- 提取调用栈前 N 帧生成归一化指纹(匿名类归一、包名前缀去除)
- 同指纹 = 同根因,自动合并重复崩溃
- ANR 按 Reason 分组,12 大类异常归类
- 支持 DeepSeek / OpenAI 兼容 API
- 自动将聚类后的 Top 崩溃提交给 AI 进行根因推理
- 返回:根因分析 + 修复建议 + 代码示例
- 将所有异常事件按时间线排列
- 检测崩溃重启循环(识别短时间内反复 crash 的模式)
- 标记高频异常时段
- 基于 PyWebView 的现代化 Web UI(Windows 使用 Edge WebView2,系统预装)
- 多选文件、一键分析、实时进度、终端日志流
- 分析完成一键打开 HTML 报告
- ECharts 图表 — 异常类别分布饼图、时间线柱状图、严重程度统计
- 全文搜索 + 关键词高亮
- 可展开的堆栈卡片,暗色主题适配
ADB Logcat Dump (.log / .txt)
│
▼
┌─────────────────┐
│ Logcat Parser │ PID/TID/时间戳/TAG/日志级别 结构化提取
└────────┬────────┘
│
▼
┌─────────────────┐
│ Pattern Detection │ 30+ 正则模式 → 异常事件列表
└────────┬────────┘
│
┌─────┴─────┐
▼ ▼
┌─────────┐ ┌─────────┐
│ Java │ │ Native │ StackTrace 提取 + Tombstone 解析
│ Crash │ │ Crash │
└────┬─────┘ └────┬─────┘
└─────┬──────┘
▼
┌─────────────────┐
│ Fingerprinting │ 堆栈指纹生成 + 聚类去重
└────────┬────────┘
│
▼
┌─────────────────┐
│ AI Root Cause │ DeepSeek/OpenAI API → 根因 + 修复建议
│ Analysis │
└────────┬────────┘
│
▼
┌─────────────────┐
│ HTML Report │ ECharts 可视化 + 交互式仪表盘
│ / Desktop GUI │
└─────────────────┘
ai-log-analyzer/
├── analyzer.py # CLI 入口
├── gui_app.py # 桌面 GUI
├── config.py # 配置
├── requirements.txt
│
├── core/ # 解析引擎
│ ├── logcat_parser.py # Logcat 格式解析
│ ├── stacktrace_parser.py # Java 堆栈提取
│ ├── native_parser.py # Native Tombstone
│ └── models.py
│
├── analysis/ # 异常检测
│ ├── keyword_detector.py # 30+ 正则模式
│ └── crash_analyzer.py # 统计摘要
│
├── clustering/ # 聚类去重
│ ├── stack_cluster.py # 堆栈指纹
│ └── category_grouper.py # 大类分组
│
├── timeline/ # 时间线
│ ├── event_builder.py
│ └── crash_loop.py # 崩溃循环检测
│
├── ai/ # AI 分析
│ ├── client.py # API 客户端
│ ├── analyzer.py # 分析编排
│ └── prompts.py # Prompt 模板
│
├── report/ # 报告生成
│ └── html_builder.py # ECharts 仪表盘
│
├── storage/ # 持久化
├── utils/ # 工具
├── tests/ # 30 个测试用例
└── logs/ # 样本日志
- Python 3.11+
- Windows / macOS / Linux
- DeepSeek 或 OpenAI API Key(可选,仅 AI 分析需要)
git clone https://github.com/hanmo-coder/ai-log-analyzer.git
cd ai-log-analyzer
pip install -r requirements.txtcp .env.example .env
# 编辑 .env 填入你的 API Key# CLI — 分析默认测试日志
python analyzer.py
# CLI — 分析指定文件 + AI 深度分析
python analyzer.py logs/simulation.log --ai
# CLI — 批量分析目录
python analyzer.py logs/ --ai
# GUI — 桌面端启动
python gui_app.pypytest tests/ -v============================================================
分析: simulation.log
============================================================
[1/6] 解析 Logcat 格式...
解析到 1,847 条结构化日志
[2/6] 场景化异常检测...
检测到 23 个异常事件
exception_generic: 8 次
slow_ui: 3 次
java_crash: 2 次
[3/6] 提取 Java 崩溃...
提取到 2 个 Java 崩溃
[4/6] 检测 Native Crash...
未检测到 Native Crash
提取到 1 个 ANR 事件
[5/6] 异常聚类...
聚类: 3 个 (去重率 0.0%)
[6/6] 构建时间线...
检测到 1 个崩溃循环!
摘要: 1,847 行 | 23 异常 (1.24%) | 2 崩溃 | 1 ANR | 3 聚类
[AI] 启动 AI 深度分析...
AI 分析完成,3 个聚类已分析
HTML 报告已保存至: reports/simulation_report.html
[High Severity] NullPointerException — 2 occurrences
Root Cause:
MainActivity.onCreate() 在 findViewById() 返回 null 后未做空检查,
直接调用其方法导致 NullPointerException。
Suggestion:
在 onCreate() 中对 findViewById() 返回值添加 null 判断:
View view = findViewById(R.id.target);
if (view != null) {
view.setVisibility(View.VISIBLE);
}
| Layer | Technology |
|---|---|
| Language | Python 3.11+ |
| Log Parsing | Regex + Structured Logcat Format |
| Crash Detection | 30+ Pattern Rules Engine |
| Clustering | Stack Fingerprint Hashing |
| AI Analysis | DeepSeek / OpenAI Compatible API |
| GUI | PyWebView + Edge WebView2 (Native) |
| HTML Report | ECharts + Vanilla JS |
| Testing | pytest (30 test cases) |
- Logcat Structured Parsing
- 30+ Anomaly Pattern Detection
- Java StackTrace + Native Tombstone Extraction
- Stack Fingerprint Clustering
- Timeline Crash Loop Detection
- AI Root Cause Analysis (DeepSeek/OpenAI)
- Interactive HTML Dashboard
- Desktop GUI (PyWebView)
- Real-time ADB Log Streaming
- Multi-platform Package (pip install)
- Plugin System for Custom Detectors
- Web Dashboard (multi-user)
MIT — LICENSE


