a log explorer for the terminal · built for 2am
lumen ingests raw JSON, logfmt, kubectl noise and stack traces, then gives you
schema-aware search over your own keys. One binary. Zero config. Try cat prod.log | lumen.
$ curl -fsSL https://nightbuildlabs.github.io/lumen/install.sh | sh
or cargo install lumen-tui · binaries ↗
this is the whole product ·
why it's different
Type three characters and lumen suggests keys from the data you just piped in — ranked by how often they occur. No schema files, no setup.
/ sta▍ status_code 47,992 status 3,120 stage 214
A sparkline along the border shows log volume over time, colored by severity. See the red spike, jump straight to it.
▂ 02:10 ▃ 02:11 ▄ 02:12 █ 02:13 ← jump here ▂ 02:14
Wrapped lines, interleaved streams, multiline stack traces, logfmt — the parser handles the mess. A line that can't be parsed is still shown and still searchable. Nothing is ever dropped.
$ kubectl logs api | lumen $ docker compose logs | lumen $ lumen dump-2026-07-04.log
an honest comparison
| tool | zero-config messy input | schema autocomplete | query power | learning curve |
|---|---|---|---|---|
| lumen | ✓ core focus | ✓ | filters — SQL is roadmap | none — keys on screen |
| lnav | ✓ known formats | — | full SQL — stronger today | steep |
| logana | ✓ many sources | — | field / date filters | moderate |
| jless | JSON only | — | navigation only | low |
| tailspin | ✓ colorizing | — | none — it's a highlighter | none |
| toolong | ✓ + merges files | — | search only | low |
Where another tool wins, we say so — lnav has stronger queries today. lumen optimizes for the first 60 seconds of an incident: pipe in, find the needle, copy it out. Full per-tool writeup, sources, and honest "use X instead when…" notes → docs/COMPARISON.md.
30 seconds from now
$ curl -fsSL https://nightbuildlabs.github.io/lumen/install.sh | sh
macOS & Linux · single ~31MB binary (DuckDB included) · MIT licensed