{"id":30302882,"url":"https://github.com/joshi4/splash","last_synced_at":"2025-08-17T06:02:12.242Z","repository":{"id":305470131,"uuid":"1022965195","full_name":"joshi4/splash","owner":"joshi4","description":"Add color to your logs","archived":false,"fork":false,"pushed_at":"2025-08-13T05:24:03.000Z","size":9402,"stargazers_count":66,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-16T03:31:52.448Z","etag":null,"topics":["awesome","brew","charmbracelet","cli","color","go","logs"],"latest_commit_sha":null,"homepage":"","language":"Go","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/joshi4.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}},"created_at":"2025-07-20T08:26:36.000Z","updated_at":"2025-08-16T00:39:00.000Z","dependencies_parsed_at":"2025-08-08T20:28:50.588Z","dependency_job_id":"edc69adc-b613-4048-a35a-0a0e3a584617","html_url":"https://github.com/joshi4/splash","commit_stats":null,"previous_names":["joshi4/splash"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/joshi4/splash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshi4%2Fsplash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshi4%2Fsplash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshi4%2Fsplash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshi4%2Fsplash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joshi4","download_url":"https://codeload.github.com/joshi4/splash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshi4%2Fsplash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270811911,"owners_count":24650075,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"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":["awesome","brew","charmbracelet","cli","color","go","logs"],"created_at":"2025-08-17T06:00:57.798Z","updated_at":"2025-08-17T06:02:12.201Z","avatar_url":"https://github.com/joshi4.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"funny\"\u003e\u003c/a\u003eFunny tools"],"sub_categories":[],"readme":"![Splash Logo](splash_logo.svg)\n\n\nSplash adds beautiful, adaptive colors to make logs easier to read.\n\n## Features\n\n- **Auto-detection** of 14+ popular log formats including Java and Python stack traces\n- **Mixed formats** - handles multiple log formats in a single stream\n- **Search highlighting** with string or regex patterns\n- **Adaptive colors** that work with both light and dark terminals\n- **Streaming performance** - processes logs in real-time\n- **Zero configuration** - No config. Just pipe.\n\n## Screenshots\n\nSplash supports many standard log formats and output from popular languages like go (test logs), java (exceptions), and python (tracebacks)\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"./screenshots/go_test.jpeg\" alt=\"output of go test for splash repo\" width=\"1280\" height=\"2480\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"./screenshots/go_test_splash.jpeg\" alt=\"output of go test | splash\" width=\"1280\" height=\"2480\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003ego test -v ./... \u003c/b\u003e\u003cbr/\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003ego test -v ./... | splash \u003c/b\u003e\u003cbr/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"./screenshots/syslog.jpeg\" alt=\"plain syslog from testdata\" width=\"1280\" height=\"2480\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"./screenshots/syslog_splash.jpeg\" alt=\"use -s/--search flag to search with splash\" width=\"1280\" height=\"2480\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003e Syslog Logs \u003c/b\u003e\u003cbr/\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003e Scan for strings easily with splash --search \u003c/b\u003e\u003cbr/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"./screenshots/apache.jpeg\" alt=\"plain apache format logs from testdata\" width=\"1280\" height=\"2480\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"./screenshots/apache_splash.jpeg\" alt=\"use -r/--regex to search for any string that match your pattern\" width=\"1280\" height=\"2480\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003e Apache format logs \u003c/b\u003e\u003cbr/\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003e splash -r \"08:3\\d\" to highlight all timestamps that match the regex pattern \u003c/b\u003e\u003cbr/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\n\u003c/table\u003e\n\n## Installation\n\n### Install from Homebrew (Recommended)\n\n```bash\nbrew tap joshi4/splash\nbrew install splash\n```\n\n### For Linux users\n\n```bash\ncurl -fsSL https://install.getsplash.sh | sh\n```\n\n### For Go users\n\n```bash\ngo install github.com/joshi4/splash@latest\n```\n\n## Get Started\n\nThe easiest way to use Splash is to pipe any log output through it:\n\n\n### Basic Usage\n```bash\necho '{\"timestamp\":\"2025-01-19T10:30:00Z\",\"level\":\"ERROR\",\"message\":\"Connection failed\",\"service\":\"api\"}' | splash\n```\n\n### Highlight errors\n```bash\n{ echo '{\"level\":\"INFO\",\"msg\":\"Starting up\"}'; echo '{\"level\":\"ERROR\",\"msg\":\"Connection failed\"}'; echo '{\"level\":\"WARN\",\"msg\":\"Slow query\"}'; } | splash -s \"ERROR\"\n```\n\n### Create HTTP logs and highlight error status codes\n```bash\n{ echo '192.168.1.1 - - [19/Jan/2025:10:30:00 +0000] \"GET /api HTTP/1.1\" 200 1234'; echo '192.168.1.2 - - [19/Jan/2025:10:30:01 +0000] \"POST /api HTTP/1.1\" 404 567'; } | splash -r \"[45]\\d\\d\"\n```\n\n### Generate and monitor continuous output\n```bash\nwhile true; do echo \"$(date -Iseconds) INFO Server is healthy\"; sleep 2; done | splash\n```\n\n### Create a mix of log formats to test detection\n```bash\n{\n  echo 'Jan 19 10:30:00 localhost myapp[1234]: INFO Application started'\n  echo '{\"timestamp\":\"2025-01-19T10:30:01Z\",\"level\":\"WARN\",\"message\":\"High memory usage\"}'\n  echo '127.0.0.1 - - [19/Jan/2025:10:30:02 +0000] \"GET /health HTTP/1.1\" 200 15'\n} | splash\n```\n\n### Use with curl to monitor API responses (requires jq)\n```bash\ncurl -s httpbin.org/json | jq -c . | splash\n```\n## 🔧 Command Line Options\n\n```bash\nsplash [flags]\n\nFlags:\n  -s, --search string    Highlight lines containing this text\n  -r, --regexp string    Highlight lines matching this regex pattern\n  -h, --help            Show help information\n```\n\n**Note:** You cannot use both `-s` and `-r` flags simultaneously.\n\n## Supported Log Formats\n\nSplash automatically detects and colorizes these log formats:\n\n| Format | Example |\n|--------|---------|\n| **JSON** | `{\"timestamp\":\"2025-01-19T10:30:00Z\",\"level\":\"ERROR\",\"message\":\"DB failed\"}` |\n| **Logfmt** | `timestamp=2025-01-19T10:30:00Z level=error msg=\"DB failed\" service=api` |\n| **Apache Common** | `127.0.0.1 - - [19/Jan/2025:10:30:00 +0000] \"GET /api HTTP/1.1\" 200 1234` |\n| **Nginx** | `127.0.0.1 - - [19/Jan/2025:10:30:00 +0000] \"GET /api HTTP/1.1\" 200 1234 \"-\" \"Mozilla/5.0\"` |\n| **Syslog** | `Jan 19 10:30:00 hostname myapp[1234]: ERROR: Database connection failed` |\n| **Rsyslog** | `Aug  8 00:15:23 your-macbook-pro syslogd[347]: ASL Sender Statistics` |\n| **Go Standard** | `2025/01/19 10:30:00 ERROR: Database connection failed` |\n| **Rails** | `[2025-01-19 10:30:00] ERROR -- : Database connection failed` |\n| **Docker** | `2025-01-19T10:30:00.123456789Z ERROR Database connection failed` |\n| **Kubernetes** | `2025-01-19T10:30:00.123Z 1 main.go:42] ERROR Database connection failed` |\n| **Heroku** | `2025-01-19T10:30:00+00:00 app[web.1]: ERROR Database connection failed` |\n| **Go Test** | `=== RUN   TestDatabaseConnection` |\n| **Java Exception** | `Exception in thread \"main\" java.lang.ArithmeticException: / by zero` |\n| **Python Exception** | `Traceback (most recent call last):` |\n\n## Build from Source\n\n```bash\ngit clone https://github.com/joshi4/splash.git\ncd splash\ngo build\n```\n\n## FAQ\n\n**I'm using a supported log format but it's not being detected. What should I do?**\n\nSometimes logs are written to stderr instead of stdout. Try redirecting stderr to stdout:\n\n```bash\nyour_command 2\u003e\u00261 | splash\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature-name`\n3. Make your changes and add tests\n4. Run tests: `go test ./...`\n5. Submit a pull request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshi4%2Fsplash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshi4%2Fsplash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshi4%2Fsplash/lists"}