{"id":50719434,"url":"https://github.com/shazeus/logwatch","last_synced_at":"2026-06-09T22:02:37.582Z","repository":{"id":358611896,"uuid":"1242101155","full_name":"shazeus/logwatch","owner":"shazeus","description":"Real-time log file analyzer and monitor — filter, search, stats, and watch logs from the terminal.","archived":false,"fork":false,"pushed_at":"2026-05-18T07:28:31.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-18T08:30:34.534Z","etag":null,"topics":["apache","cli","devops","log-analyzer","logging","nginx","python","real-time","rich","syslog","terminal","watchdog"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shazeus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-18T06:11:07.000Z","updated_at":"2026-05-18T07:28:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shazeus/logwatch","commit_stats":null,"previous_names":["shazeus/logwatch"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/shazeus/logwatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shazeus%2Flogwatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shazeus%2Flogwatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shazeus%2Flogwatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shazeus%2Flogwatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shazeus","download_url":"https://codeload.github.com/shazeus/logwatch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shazeus%2Flogwatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34127345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","cli","devops","log-analyzer","logging","nginx","python","real-time","rich","syslog","terminal","watchdog"],"created_at":"2026-06-09T22:02:37.474Z","updated_at":"2026-06-09T22:02:37.577Z","avatar_url":"https://github.com/shazeus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003elogwatch\u003c/h1\u003e\n  \u003cp align=\"center\"\u003eReal-time log file analyzer and monitor for the terminal.\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.org/project/logwatch-cli/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/logwatch-cli?color=blue\u0026label=PyPI\" alt=\"PyPI\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/logwatch-cli/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/logwatch-cli\" alt=\"Python\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/shazeus/logwatch/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"License\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/shazeus/logwatch/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/shazeus/logwatch?style=social\" alt=\"Stars\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n---\n\n**logwatch** is a powerful, zero-configuration CLI tool for monitoring and analyzing log files in real time. It auto-detects common log formats (syslog, Apache/Nginx, Python, ISO 8601, and more), filters by severity level, searches with regex, and renders beautiful terminal output powered by Rich.\n\n- **Auto-format detection** — identifies syslog, Apache combined, Nginx, Python logging, ISO 8601, and generic formats automatically\n- **Real-time tail \u0026 watch** — follow files live with `tail -f`-like behavior; receive visual alerts on ERROR/CRITICAL lines\n- **Level filtering** — show only WARN, ERROR, CRITICAL, etc. with color-coded output\n- **Regex search** — grep across one or many log files with context lines and invert support\n- **Statistics \u0026 visualization** — bar charts of level distribution, hourly activity heatmap, top IPs, HTTP status breakdown\n- **Multi-file support** — all commands accept multiple files and label output per source\n- **Error extraction** — quickly dump all error/critical lines from any log\n- **Log diff** — compare level distributions between two log snapshots\n\n## Installation\n\n```bash\npip install logwatch-cli\n```\n\n**Requirements:** Python 3.10+\n\n## Usage\n\n```bash\n# Tail last 20 lines and follow live\nlogwatch tail /var/log/syslog\n\n# Follow multiple files, only WARN+\nlogwatch tail -l WARNING /var/log/nginx/access.log /var/log/nginx/error.log\n\n# Search for pattern across logs\nlogwatch search \"connection refused\" /var/log/*.log\n\n# Show statistics for a log file\nlogwatch stats /var/log/apache2/access.log\n\n# Filter to ERROR+ and write to file\nlogwatch filter -l ERROR /var/log/app.log -o errors.log\n\n# Watch live with alert panels for ERROR+\nlogwatch watch /var/log/app.log --alert-level ERROR\n\n# Extract only errors\nlogwatch errors /var/log/syslog -n 100\n\n# Detect log format\nlogwatch detect /var/log/syslog /var/log/nginx/access.log\n\n# Compare two log files\nlogwatch diff /var/log/app.log.1 /var/log/app.log\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `tail` | Tail log file(s) and optionally follow live (`-f` default on) |\n| `watch` | Live watch with rich alert panels for critical events |\n| `search` | Regex search across one or many log files |\n| `filter` | Filter by log level and/or regex, export filtered output |\n| `stats` | Full statistics: levels, hourly heatmap, top IPs, status codes |\n| `errors` | Extract and show only ERROR/CRITICAL entries |\n| `detect` | Auto-detect the format of log files |\n| `diff` | Compare level distributions between two log files |\n\n### Common Options\n\n| Flag | Description |\n|------|-------------|\n| `-l / --level` | Minimum log level (TRACE, DEBUG, INFO, WARNING, ERROR, CRITICAL) |\n| `-p / --pattern` | Regex filter pattern |\n| `--invert` | Invert pattern match (exclude matching lines) |\n| `-n / --lines` | Number of lines for `tail` and `filter` |\n| `-n / --limit` | Maximum entries for `errors` |\n| `--fmt` | Override format detection (auto, syslog, python, apache_combined, nginx, iso8601) |\n| `--no-follow` | Print tail only, don't follow |\n\n## Configuration\n\nNo configuration file required. logwatch works out of the box. Pipe-friendly — all output goes to stdout; combine with standard Unix tools as needed.\n\n```bash\n# Pipe filtered output to less\nlogwatch filter -l ERROR /var/log/app.log | less -R\n\n# Count errors per file\nlogwatch search \"ERROR\" /var/log/*.log --count\n```\n\n## License\n\nMIT © [shazeus](https://github.com/shazeus)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshazeus%2Flogwatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshazeus%2Flogwatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshazeus%2Flogwatch/lists"}