https://github.com/Textualize/toolong Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} Textualize / toolong Public * Notifications * Fork 3 * Star 793 * A terminal application to view, tail, merge, and search log files (plus JSONL). www.textualize.io/ License MIT license 793 stars 3 forks Branches Tags Activity Star Notifications * Code * Issues 4 * Pull requests 1 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights Textualize/toolong This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Name Name Last commit message Last commit date Latest commit History 102 Commits src/toolong src/toolong .gitignore .gitignore LICENSE LICENSE README.md README.md poetry.lock poetry.lock pyproject.toml pyproject.toml View all files Repository files navigation * README * MIT license 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 Keep calm and log files See Toolong on Calmcode.io for a calming introduction to Toolong. 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. Add 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). www.textualize.io/ Topics terminal textual tui terminal-based rich jsonl Resources Readme License MIT license Activity Custom properties Stars 793 stars Watchers 4 watching Forks 3 forks Report repository Releases 3 Fixes compatibility for older Pythons Latest Feb 11, 2024 + 2 releases Contributors 2 * * Languages * Python 100.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.