koaning / toolong

A terminal application to view, tail, merge, and search log files (plus JSONL).

Home Page:https://www.textualize.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Kookaburra sitting on a scroll

Discord

Toolong

A terminal application to view, tail, merge, and search log files (plus JSONL).

🎬 Viewing a single file

 

Screen.Recording.2024-02-08.at.14.30.42.mov

What?

Screenshot 2024-02-08 at 13 47 28
  • Live tailing of log files.
  • Syntax highlights common web server log formats.
  • As fast to open a multiple-gigabyte file as it is to open a tiny text file.
  • Support for JSONL files: lines are pretty printed.
  • Opens .bz and .bz2 files automatically.
  • Merges log files by auto detecting timestamps.

Why?

I spent a lot of time in my past life as a web developer working with logs, typically on web servers via ssh. I would use a variety of tools, but my goto method of analyzing logs was directly on the server with *nix tools like as tail, less, and grep etc. As useful as these tools are, they are not without friction.

I built toolong to be the tool I would have wanted back then. It is snappy, straightforward to use, and does a lot of the grunt work for you.

Screenshots

Screenshot 2024-02-08 at 13 47 28 Screenshot 2024-02-08 at 13 48 04
Screenshot 2024-02-08 at 13 49 22 Screenshot 2024-02-08 at 13 50 04

Videos

🎬 Merging multiple (compressed) files  
Screen.Recording.2024-02-08.at.14.31.52.mov
🎬 Viewing JSONL files  
Screen.Recording.2024-02-08.at.14.32.46.mov
🎬 Live Tailing a file  
Screen.Recording.2024-02-08.at.15.23.38.mov

How?

Toolong is currently best installed with pipx.

pipx install toolong

You could also install Toolong with Pip:

pip install toolong

Note

If you use pip, you should ideally create a virtual environment to avoid potential dependancy conflicts.

However you install Toolong, the tl command will be added to your path:

tl

In the near future there will be more install methods, and hopefully your favorite package manager.

Compatibility

Toolong works on Linux and macOS. I don't think it will work on Windows yet, but it could. Let me know if you would like Windows support.

Opening files

To open a file with Toolong, add the file name(s) as arguments to the command:

tl mylogfile.log

If you add multiple filenames, they will open in tabs.

Added the --merge switch to open multiple files and combine them in to a single view:

tl access.log* --merge

In the app, press f1 for additional help.

Who?

This guy. An ex web developer who somehow makes a living writing terminal apps.


History

If you follow me on Twitter, you may have seen me refer to this app as Tailless, because it was intended to be a replacement for a tail + less combo. I settled on the name "Toolong" because it is a bit more apt, and still had the same initials.

Development

Toolong v1.0.0 has a solid feature set, which covers most of my requirements. However, there is a tonne of features which could be added to something like this, and I will likely implement some of them in the future.

If you want to talk about Toolong, find me on the Textualize Discord Server.

Thanks

I am grateful for the LogMerger project which I referenced (and borrowed regexes from) when building Toolong.

Alternatives

Toolong is not the first TUI for working with log files. See lnav as a more mature alternative.

About

A terminal application to view, tail, merge, and search log files (plus JSONL).

https://www.textualize.io/

License:MIT License


Languages

Language:Python 100.0%