logana
A fast terminal log viewer for files of any size — including multi-GB logs. Built on memory-mapped I/O and SIMD line indexing. Auto-detects log formats, filters by pattern, regex, field value, or date range — bookmark lines, add annotations, and export your analysis.
Features
- Auto-detected log formats — JSON, syslog, journalctl, logfmt, OpenTelemetry, DLT (AUTOSAR), and more
- Filtering — include/exclude patterns (literal or regex), date-range filters, field-scoped filters; add filters from the command line with
-i/-o/-t - Persistent sessions — filters, scroll position, marks, and annotations survive across runs; configurable restore policy (ask / always / never)
- Structured field view — parsed timestamps, levels, targets, and extra fields displayed in columns; select which columns you want visible
- Vim-style navigation —
j/k,gg/G,Ctrl+d/u, count prefixes (5j,10G),/search,e/werror/warning jumps - Annotations — attach comments to log lines; export analysis to Markdown or Jira
- Value coloring — HTTP methods, status codes, IP addresses, and UUIDs colored automatically
- OTel collector — receive OpenTelemetry logs in real time over gRPC or HTTP/JSON; compatible with any OTel SDK
- Multi-tab — open multiple files, Docker streams, DLT daemon connections, or OTel collector tabs; each tab has independent filters and session state
- MCP server — embedded Model Context Protocol server; expose marks and annotations to AI assistants
- Headless mode — run the full filter pipeline without a TUI to preprocess huge logs
- Fully configurable — all keybindings remappable via
~/.config/logana/config.json; 22 bundled themes
Installation
Pre-built binaries (recommended)
Download from the Releases page, or use the install script:
Linux / macOS
|
Windows (PowerShell)
irm https://github.com/pauloremoli/logana/releases/latest/download/install.ps1 | iex
Homebrew (macOS / Linux)
Cargo
Quick Start
# Open a file
# Open a directory (each file opens in its own tab)
# Pipe from stdin
|
# Start at the end and follow new lines
# Stream a Docker container
# Receive OpenTelemetry logs over gRPC (port 4317)
# Add inline filters on the command line
# Headless — filter without the TUI, output to stdout or a file
Documentation
Full documentation is at pauloremoli.github.io/logana.