关于 log-error-digest
log-error-digest 是用于分析日志文件的命令行技能,可聚类相似错误并生成频次和时间分布报告。适合排查应用及 Nginx 日志中的错误。
主要功能
- 01错误消息归一化与聚类
- 02按类型统计错误频次和严重性
- 03按小时及日期展示错误分布
- 04自动识别 JSON、syslog 和 Nginx 格式
- 05按级别和时间筛选并导出 JSON
适用场景
- 01查找日志中反复出现的错误根因
- 02定位错误高发时段
- 03筛选 ERROR 日志并生成 JSON 报告
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zebbern/ claude-code-guide --skill log-error-digest安装后在 Claude Code 中输入/log-error-digest确认已加载。
附带文件LICENSEscripts/analyze_logs.py
详细介绍
日志错误摘要
自动分析日志文件,生成错误聚类、频率统计和时间分布报告。
功能
- 错误聚类:通过规范化动态部分(IP、UUID、数字等),将相似的错误消息归类,以识别根本原因
- 频率统计:按严重程度排序,统计各类错误的出现次数
- 时间分布:按小时和日期显示错误分布,帮助确定错误高发时段
支持的日志格式
| 格式 | 描述 | 自动检测 |
|---|---|---|
| JSON | 每行一个 JSON 对象,包含 timestamp/level/message 字段 | 以 { 开头 |
| syslog | RFC 3164 格式,例如 Jan 1 12:00:00 host proc[pid]: msg | 以月份名称开头 |
| Nginx | 访问日志或错误日志格式 | 以 IP 或日期/路径模式开头 |
用法
python scripts/analyze_logs.py <log_file_path> [options]
参数
| 参数 | 描述 | 默认值 |
|---|---|---|
log_file | 日志文件路径(必填) | - |
--format | 日志格式:auto/json/syslog/nginx | auto |
--top | 显示排名前 N 的错误簇 | 20 |
--output | 将结果导出到 JSON 文件 | 仅终端输出 |
--level | 按日志级别筛选(例如 ERROR、WARN) | 所有级别 |
--since | 仅分析此时间之后的日志(ISO 格式) | 不限 |
--until | 仅分析此时间之前的日志(ISO 格式) | 不限 |
示例
# Auto-detect format and analyze the entire log file
python scripts/analyze_logs.py /var/log/app.log
# Specify Nginx format, show only Top 10 errors
python scripts/analyze_logs.py /var/log/nginx/error.log --format nginx --top 10
# Filter ERROR level only, export JSON report
python scripts/analyze_logs.py app.log --level ERROR --output report.json
# Analyze logs within a specific time range
python scripts/analyze_logs.py app.log --since 2024-01-01T00:00:00 --until 2024-01-02T00:00:00
输出
终端输出
=======================================================
Log Analysis Report
=======================================================
📊 Overview
Detected format: json
Total lines: 15,234
Parsed: 15,100 (parse failures: 134)
Matched entries: 12,800
Errors: 2,341
Time range: 2024-01-01 00:03:12 ~ 2024-01-01 23:58:45
🔴 Top Error Clusters (47 total)
#1 [×523 ] Connection refused to database at 10.0.1.5:5432
First seen: 2024-01-01T00:15:30 Last seen: 2024-01-01T23:45:12
#2 [×312 ] Timeout waiting for response from user-service after 30000ms
First seen: 2024-01-01T02:10:00 Last seen: 2024-01-01T22:30:45
#3 [×198 ] File not found: /data/uploads/img_99421.png
First seen: 2024-01-01T08:00:00 Last seen: 2024-01-01T20:15:33
...
⏰ Time Distribution (by hour)
00:00 █████░░░░░░░░░░░░░░░ 42
01:00 ██░░░░░░░░░░░░░░░░░░ 18
...
14:00 ████████████████████ 523
...
📅 Time Distribution (by date)
2024-01-01 ████████████████████ 2,341
JSON 输出
使用 --output 参数导出结构化 JSON 报告,以便进一步处理或集成到监控系统中。
评论
支持 Markdown