{"id":40122559,"url":"https://github.com/solidkeyab/logan","last_synced_at":"2026-02-17T00:02:28.452Z","repository":{"id":333375262,"uuid":"1137079724","full_name":"SolidKeyAB/logan","owner":"SolidKeyAB","description":"Fast log file viewer and analyzer for large files with pattern detection, search, and bookmarks.             ","archived":false,"fork":false,"pushed_at":"2026-01-18T22:19:14.000Z","size":5142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T07:11:18.965Z","etag":null,"topics":["developer-tools","drain-algorithm","electron","log-analyzer","log-parser","log-viewer","macos","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/SolidKeyAB.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-01-18T21:49:56.000Z","updated_at":"2026-01-18T22:18:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SolidKeyAB/logan","commit_stats":null,"previous_names":["solidkeyab/logan"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SolidKeyAB/logan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidKeyAB%2Flogan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidKeyAB%2Flogan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidKeyAB%2Flogan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidKeyAB%2Flogan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SolidKeyAB","download_url":"https://codeload.github.com/SolidKeyAB/logan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidKeyAB%2Flogan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28568833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T12:50:50.164Z","status":"ssl_error","status_checked_at":"2026-01-19T12:50:42.704Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["developer-tools","drain-algorithm","electron","log-analyzer","log-parser","log-viewer","macos","typescript"],"created_at":"2026-01-19T13:00:47.196Z","updated_at":"2026-02-14T10:05:08.233Z","avatar_url":"https://github.com/SolidKeyAB.png","language":"TypeScript","readme":"# LOGAN - Log Analyzer\n\nA blazing-fast log file viewer built with Electron, designed for **massive log files**. Tested and working with files up to **14 million+ lines** — virtual scrolling keeps it smooth no matter how big the file gets.\n\n## Features\n\n### Core Viewer\n- **Virtual scrolling** — Handles multi-million line files with constant memory usage and smooth 60fps scrolling\n- **Fast search** — Powered by ripgrep (10-100x faster), with regex, wildcard, whole word, and case-sensitive modes\n- **Multiple tabs** — Open and switch between log files without losing state\n- **Minimap** — Bird's-eye overview with color-coded error/warning indicators, click to jump\n- **Word wrap \u0026 zoom** — Toggle wrapping, adjust font size with Ctrl+/- or mouse wheel\n- **Column visibility** — Auto-detect delimited columns and show/hide them\n\n### Analysis \u0026 Filtering\n- **Log analysis** — Pattern detection, duplicate grouping, level distribution, and time range stats\n- **Advanced filtering** — Multi-group filter expressions (AND/OR), level filters, include/exclude patterns, context lines\n- **Time gap detection** — Find gaps between timestamps with configurable thresholds and line/pattern ranges\n- **Search configs** — Persistent multi-pattern search with color-coded highlighting (Ctrl+8)\n\n### Annotations\n- **Bookmarks** — Mark lines with comments and colors, save/load bookmark sets, export\n- **Highlights** — Color-code patterns with regex support, per-file or global, organized in groups\n- **Notes drawer** — Freeform notes per file with auto-save (Ctrl+Shift+N)\n- **Save snippets** — Extract selected line ranges to `.notes.txt` files for later reference\n\n### Split \u0026 Diff\n- **File splitting** — Break huge files into manageable parts\n- **Split view** — View two files side by side\n- **Diff view** — Compare files with aligned hunk display, additions/deletions/modifications\n\n### Video Player\n- **Log-to-video sync** — Open a screen recording alongside logs, set a sync point from any log line, then click lines to seek the video to the corresponding moment (Ctrl+9)\n- **Drag \u0026 drop** — Drop MP4/WebM/OGG files directly onto the panel\n- **Per-file persistence** — Video path and sync offset remembered per log file\n\n### Integrations\n- **Built-in terminal** — Quake-style drop-down terminal, auto-cds to file directory (Ctrl+`)\n- **Datadog** — Fetch logs directly from Datadog APIs\n- **Folder browser** — Open folders, browse files, search across multiple files\n- **Activity history** — Track searches, filters, bookmarks, and other actions per file (Ctrl+7)\n\n### Local Persistence\n- Per-file `.logan/` sidecar storage for bookmarks, highlights, notes, video sync, and history\n- Global `~/.logan/` for highlight groups, bookmark sets, and settings\n- State survives across sessions — reopen a file and everything is restored\n\n## Requirements\n\n- **Node.js** 18+\n- **ripgrep** (optional, but highly recommended for fast search)\n\n### Installing ripgrep\n\nripgrep provides ~10-100x faster search performance.\n\n**macOS:**\n```bash\nbrew install ripgrep\n```\n\n**Ubuntu/Debian:**\n```bash\nsudo apt install ripgrep\n```\n\n**Windows:**\n```bash\nchoco install ripgrep\n# or\nwinget install BurntSushi.ripgrep\n```\n\n**Arch Linux:**\n```bash\nsudo pacman -S ripgrep\n```\n\nIf ripgrep is not installed, LOGAN falls back to a stream-based search which is still faster than traditional methods.\n\n## Installation\n\n### Download Pre-built Packages\n\nDownload the latest release from [GitHub Releases](https://github.com/SolidKeyAB/logan/releases).\n\n**macOS:**\n- Download `LOGAN-x.x.x-arm64.dmg` (Apple Silicon) or `LOGAN-x.x.x-x64.dmg` (Intel)\n- Open the DMG and drag LOGAN to Applications\n- On first launch, right-click and select \"Open\" to bypass Gatekeeper\n\n**Linux:**\n- **AppImage:** Download `LOGAN-x.x.x.AppImage`, make executable (`chmod +x`), and run\n- **Debian/Ubuntu:** Download `logan_x.x.x_amd64.deb` and install with `sudo dpkg -i logan_x.x.x_amd64.deb`\n\n**Windows:**\n- **Installer:** Download and run `LOGAN.Setup.x.x.x.exe`\n- **Portable:** Download `LOGAN.x.x.x.exe` and run directly (no installation needed)\n\n### Build from Source\n\n```bash\ngit clone https://github.com/SolidKeyAB/logan.git\ncd logan\nnpm install\nnpm run build\nnpm start\n```\n\n## Development\n\n```bash\nnpm run build\nnpm start\n```\n\n## Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| Ctrl+O | Open file |\n| Ctrl+T | Open in new tab |\n| Ctrl+W | Close tab |\n| Ctrl+Tab / Ctrl+Shift+Tab | Next / previous tab |\n| Ctrl+F | Focus search |\n| F3 / Ctrl+G | Next match |\n| Shift+F3 | Previous match |\n| Ctrl+B | Toggle bookmark |\n| Ctrl+H | Highlight all occurrences of selection |\n| Ctrl+Shift+H | Highlight first occurrence per line |\n| Ctrl+Shift+S | Save selected lines to notes |\n| Ctrl++ / Ctrl+- / Ctrl+0 | Zoom in / out / reset |\n| Ctrl+1...7 | Toggle panels (Folders/Stats/Analysis/Gaps/Bookmarks/Highlights/History) |\n| Ctrl+8 | Toggle search configs |\n| Ctrl+9 | Toggle video player |\n| Ctrl+\\ | Toggle panel visibility |\n| Ctrl+` | Toggle terminal |\n| Ctrl+Shift+N | Toggle notes drawer |\n| Ctrl+Shift+R | Toggle search results |\n| Alt+Z | Toggle word wrap |\n| Esc | Close active panel/overlay |\n| Shift+Click | Select line range |\n| Right-click | Context menu (bookmark, copy, highlight) |\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidkeyab%2Flogan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolidkeyab%2Flogan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidkeyab%2Flogan/lists"}