log-error-digest
Analyze log files to troubleshoot errors, identify peak error periods, and produce error clustering, frequency statistics, and time distribution reports. Supports JSON, syslog, and Nginx formats with automatic detection. Use when a user uploads a .log file and asks to analyze errors, find patterns, debug issues, or get distribution stats.
pinned to #9d252b3updated last month
Ask your AI client: “install skills/log-error-digest”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/log-error-digestmetahub onboarded this repo on the author's behalf.
If you own github.com/zebbern/claude-code-guide on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
4,568
Last commit
last month
Latest release
published
- #ai
- #ai-agent
- #ai-agent-tools
- #anthropic-claude
- #claude
- #claude-ai
- #claude-api
- #claude-code
- #claude-code-communication
- #claude-code-guide
- #claude-code-skills
- #claude-commands
- #claude-desktop
- #claude-mcp
- #claude-sonnet
- #code
- #mcp
- #mcp-agents
- #mcp-tools
- #vscode-extension
About this skill
Pulled from SKILL.md at publish time.
Automated log file analysis that produces error clustering, frequency statistics, and time distribution reports.
Automated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.9d252b3· last month
Documentation
8 passed1 warningHomepage or repository declaredwarn
No homepage or repository declared.
Add a "homepage" or "repository" field to SKILL.md.
Description quality
50 words · 340 chars — "Analyze log files to troubleshoot errors, identify peak error periods, and produ…"
README is present and substantial
168,182 chars · 12 sections · 127 code blocks
Tags / topics declared
20 total — ai, ai-agent, ai-agent-tools, anthropic-claude, claude, claude-ai (+14)
README has usage / example sections
found: Quick Start · Example · Example
Homepage / docs URL declared
no homepage declared (registry will use the repo URL) — info-only, not blocking
Description is substantive
Description is 50 words.
Documentation present and substantive
Documentation present (SKILL.md, 498 words).
Documentation shows usage
Documentation includes 3 code examples.
Release history
1- releasecurrent9d252b3warnlast month
Contents
Automated log file analysis that produces error clustering, frequency statistics, and time distribution reports.
Features
- Error Clustering: Groups similar error messages by normalizing dynamic parts (IPs, UUIDs, numbers, etc.) to identify root causes
- Frequency Statistics: Counts occurrences by error type, sorted by severity
- Time Distribution: Shows error distribution by hour and by date, helping pinpoint peak error periods
Supported Log Formats
| Format | Description | Auto-detection |
|---|---|---|
| JSON | One JSON object per line with timestamp/level/message fields | Starts with { |
| syslog | RFC 3164 format, e.g. Jan 1 12:00:00 host proc[pid]: msg | Starts with month name |
| Nginx | Access log or error log format | Starts with IP or date/path pattern |
Usage
python scripts/analyze_logs.py <log_file_path> [options]
Parameters
| Parameter | Description | Default |
|---|---|---|
log_file | Path to the log file (required) | - |
--format | Log format: auto/json/syslog/nginx | auto |
--top | Show Top N error clusters | 20 |
--output | Export results to a JSON file | Terminal output only |
--level | Filter by log level (e.g. ERROR, WARN) | All levels |
--since | Only analyze logs after this time (ISO format) | No limit |
--until | Only analyze logs before this time (ISO format) | No limit |
Examples
# 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
Output
Terminal Output
=======================================================
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
Use the --output parameter to export a structured JSON report for further processing or integration with monitoring systems.
Reviews
No reviews yet. Be the first.
Related
Verification Before Completion
Evidence before assertions, always
Writing Plans
Turn specs into phased implementation plans
Test-Driven Development
Red → green → refactor discipline for any feature or bugfix
mh install skills/log-error-digest