Skip to content

pauloremoli/logana

Repository files navigation

logana

logana turns any log source — files, compressed archives, Docker containers, or OTel streams — into structured, filterable, annotatable data. Filter by pattern, field, or date range; jump between errors and warnings; annotate key lines; bookmark findings; and export to Markdown, Jira, or AI assistants via the built-in MCP server — all persistent across sessions.

logana demo


Features

  • Any log format — JSON, syslog, journalctl, logfmt, OpenTelemetry, DLT, or your own custom {field} schema
  • Any source — files, directories, compressed/archives, Docker containers, OTel (gRPC/HTTP), stdin
  • Filtering — include/exclude, regex, field-scoped, date-range, and highlight-only filters, all remappable and scriptable from the CLI
  • Vim-style navigationj/k, gg/G, count prefixes, / search, jump straight to the next error or warning
  • Annotations — comment on lines and export the analysis to Markdown or Jira
  • Persistent sessions — filters, marks, and scroll position are restored automatically
  • MCP server — expose marks and annotations to AI assistants
  • Headless mode — run the full filter pipeline without a TUI, for scripting and huge logs
  • Fully configurable — every keybinding is remappable

Installation

Pre-built binaries (recommended)

Download from the Releases page, or use the install script:

Linux / macOS

curl -fsSL https://github.com/pauloremoli/logana/releases/latest/download/logana-installer.sh | sh

Windows (PowerShell)

irm https://github.com/pauloremoli/logana/releases/latest/download/logana-installer.ps1 | iex

Homebrew (macOS / Linux)

brew tap pauloremoli/logana && brew install logana

Cargo

cargo install logana
# or install the latest binary directly
cargo binstall logana

Performance

Filtering a 3.3 GB access log with 10M+ lines against lnav, cold disk cache:

logana lnav
Headless (10-run avg) 0.99 s 11.2 s
TUI, open → filter → quit 1.8 s 11.8 s

logana performance comparison with lnav

lnav offers features beyond filtering that may account for part of the difference — this compares filtering performance only. Hardware: AMD Ryzen 9 8945HS · 32 GB DDR5 5600 MHz · NVMe 4.0 x4.


Documentation

Full documentation is at pauloremoli.github.io/logana.

About

Terminal log analyzer built in Rust with instant filtering, structured field parsing, compressed file support, Docker/OTel streaming, and MCP integration.

Topics

Resources

License

Contributing

Stars

36 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages