For more background and technical details, I wrote this up as well: <a href="https://dmitryfrank.com/projects/nerdlog/article" rel="nofollow">https://dmitryfrank.com/projects/nerdlog/article</a>
Nice work! The TUI looks really sharp and I like the histogram on top. Going to play with this today.<p>TIL awk patterns can be more than just regexes and can be combined with boolean operators. I've written a bit of awk and never realized this.
This is a really cool project — love the simplicity and the TUI approach, especially with the timeline histogram and remote-first design. I had similar pain points at my end when dealing with logs across many hosts, which led to building Logdy[1] — a tool with a slightly different philosophy.<p>Logdy is more web-based and focuses on live tailing, structured log search, and quick filtering across multiple sources, also without requiring a centralized server. Not trying to compare directly, but if you're exploring this space, you might find it useful as a complementary approach or for different scenarios. Although we need to work more on adding ability to query multiple hosts.<p>Anyway, kudos on nerdlog—always great to see lean tools in the logging space that don’t require spinning up half a dozen services.<p>[1] <a href="https://logdy.dev" rel="nofollow">https://logdy.dev</a>
journalctl is mentioned once in the landing page and it seems to imply that journalctl is not supported per se, as logs need to be stored plaintext to legacy syslog (?).<p>I do not want to store plaintext logs and use ancient workarounds like logrotate. journald itself has the built-in ability to receive logs from remote hosts (journald remote & gateway) and search them using --merge.
Very nice work. Anyway to specify a group of log files in the config that are shared across many hosts? For example:<p><pre><code> log_files:
mygroup:
- /var/log/syslog
- /var/log/foo
- /var/log/bar
log_streams:
myhost-01:
hostname: actualhost1.com
port: 1234
user: myuser
log_files: mygroup
myhost-02:
hostname: actualhost2.com
port: 7890
user: myuser
log_files: mygroup
myhost-03:
hostname: actualhost3.com
port: 8888
user: myuser
log_files: mygroup</code></pre>
I definitely intend on playing around with this later! I see that [gzipped log archives aren't supported](<a href="https://dmitryfrank.com/projects/nerdlog/article#depends_on_the_log_file_rotation_policy" rel="nofollow">https://dmitryfrank.com/projects/nerdlog/article#depends_on_...</a>), minimizing the use case for me personally. You've at least thought enough about that to bring it up as a limitation you think people will call attention to -- any plans to eventually support it?
Very nice! Added to my little list of log viewers at <a href="https://github.com/dloss/klp#alternative-tools">https://github.com/dloss/klp#alternative-tools</a>