NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Log File Viewer for the Terminal (lnav.org)
mitul005 8 minutes ago [-]
Interesting, I want to try this for debugging our AI gateway when you're routing requests across 20+ LLM providers, the logs get noisy fast. Being able to filter by log level, jump between errors, and run SQL-style queries against structured logs in the terminal sounds like a huge time saver. No more grepping through multi-GB log files.
guessmyname 8 hours ago [-]
Oh yeah! lnav is famous. I remember using it like a decade ago to monitor an array of web servers while at GoDaddy; good ol' times.

First commit is from Sep 13, 2009: https://github.com/tstack/lnav/commit/b4ec432515e95e86ec9d71... . Woah! we’re old.

This is what the UX looked like back in the day: https://github.com/tstack/lnav/commit/bce2caa654160518ec11f6...

boomskats 7 hours ago [-]
Wow, the GitHub mobile app doesn't preview PNGs. TIL
ifh-hn 6 hours ago [-]
GitHub website does on mobile.
port11 1 hours ago [-]
GitHub mobile requires login, sadly.
SoftTalker 24 minutes ago [-]
I've always just used less(1).
rsafaya 4 hours ago [-]
I wish I had found this earlier. Nothing like looking at thousands of EV charger logs all day to mak you appreciate something like this.
p0w3n3d 9 hours ago [-]
This is almost the thing I want and need. What I need is some sort of TUI grafana - Json log splitter/organizer/finder
makapuf 7 hours ago [-]
Currently working exactly on that https://gitlab.com/makapuf/treewalker (even if it could always use some love)
aledevv 5 hours ago [-]
In my opinion logfile navigator is much better than grafana, I use grafana to view a lot of microservices docker logs, but it's too tedious for me (even if depends on your specific use case).

This one, on the other hand, is cleaner and lets you find what you're looking for quickly. And, last but not least, is much lighter.

dima55 8 hours ago [-]
I use vnlog and feedgnuplot to massage and plot data on the console all the time. It's even less than a tui, but might be what you want.
dloss 7 hours ago [-]
If you're fine with CLIs, maybe my Kelora project is worth a look. It's a very flexible log processor with built-in scripting: https://kelora.dev
Sammi 5 hours ago [-]
This looks great.

I've been using klogg and if you're more into GUI's then I think it's the best there is. It opens and searches in log files of many gigabytes with easy. It's a simple and clean multiplatform QT app.

https://github.com/variar/klogg

graemep 5 hours ago [-]
The problem with GUIs is that AFAIK they need to be installed on the machine the logs you are reading are on so a heavy install on a server.
kevin_thibedeau 23 minutes ago [-]
Qt still runs over X11. You can just have the app and support libs for remote display without a full desktop environment.
elcapitan 6 hours ago [-]
> ssh playground@demo.lnav.org

Really appreciate this way to demo it quickly, very nice!

rgilton 3 hours ago [-]
brunosutic 7 hours ago [-]
I tried lnav about 7-8 years ago and as a terminal junkie I really liked the features.

The only breaking thing was a huge (almost bloated) memory consumption. At that time lnav basically just kept everything in memory. Does anyone did that change?

xx_ns 7 hours ago [-]
According to the linked homepage, the memory usage seems decent (few hundred megs for most use cases when working with a 3.3G logfile). There's a screenshot with various tasks and what the peak memory usage is.

At some point you need to keep quite a large context in memory to have both decent performance and useful features (that aren't unbearably slow to use). lnav seems to land at a reasonable middle ground.

asmosoinio 8 hours ago [-]
Looks very useful, will give it a go.

This resonates with my use of grep+less: https://github.com/tstack/lnav?tab=readme-ov-file#why-not-ju...

__bax 6 hours ago [-]
Must have tool!
steveharing1 7 hours ago [-]
I was looking for something like this, Appreciate it!
vincentabolarin 5 hours ago [-]
This looks genuinely useful.
yagelar 5 hours ago [-]
very nice, definitely will use it
worksonmine 4 hours ago [-]
It's a nice tool but I really wish the configuration wasn't done in json and loaded from $XDG_CONFIG_HOME.
Duke64 3 hours ago [-]
I'm a little disappointed that it's not written in Rust.
tstack 22 minutes ago [-]
Speaking as the author, I too wish it was written in Rust. But, I started it in 2007 when I needed to get practice with C++ for work. At this point, there's so much code in lnav, rewriting would be a long process. There are some sub-components[1] that are written in Rust though.

A new project called logana[2] is written in Rust and is headed in a good direction. Use/contribute to that if you're really interested.

[1] - https://github.com/tstack/lnav/tree/master/src/third-party/l... [2] - https://github.com/pauloremoli/logana/

emmelaich 2 hours ago [-]
I sense an opportunity for you.
leontloveless 3 hours ago [-]
[dead]
teh 3 hours ago [-]
Super useful tool but need to be aware that this is reading potentially untrusted input (e.g. in the case of http request logs) and written in c++, so a possible attack vector. I use lnav where I trust the logs, but do wish a safe implementation existed.
fireflash38 2 hours ago [-]
Memory safety doesn't mean it's safe. And C++ doesn't mean it's unsafe.

Browsers are in C++, do you not use them? Curl is in C, do you not use it? Kernel is C...

teh 1 hours ago [-]
Chrome uses sandboxing and a lot of safe tooling (wuffs, rust) for untrusted data.

curl is heavily fuzzed and you still mostly control what you are downloading unless the target is compromised.

With logs the attacker controls what goes into your logs.

And you don't need to really look very hard, there are a fair number of very recent stack and heap overflows: https://github.com/tstack/lnav/issues?q=is%3Aissue%20heap%20...

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 14:52:55 GMT+0000 (Coordinated Universal Time) with Vercel.