Toolong
一个用于查看、跟踪、合并和搜索日志文件(以及JSONL)的终端应用程序。
🎬 查看单个文件
保持冷静并记录文件
查看 Calmcode.io上的Toolong 以获得对Toolong的平和介绍。
是什么?
- 实时跟踪日志文件。
- 对常见的Web服务器日志格式进行语法高亮显示。
- 打开几个GB大小的文件和打开一个小型文本文件一样快。
- 支持JSONL文件:每行都会美化打印。
- 自动打开.bz和.bz2文件。
- 通过自动检测时间戳合并日志文件。
为什么?
在我过去作为Web开发人员的生涯中,我花了很多时间处理日志,通常是通过ssh在Web服务器上进行。我会使用各种工具,但我分析日志的首选方法是直接在服务器上使用诸如tail
、less
和grep
等*nix工具。尽管这些工具很有用,但使用它们并非没有摩擦。
我构建toolong
是为了创造我当时想要的工具。它反应迅速,使用简单,并为你完成了大量的繁重工作。
截图
视频
🎬 合并多个(压缩)文件
🎬 查看JSONL文件
🎬 实时跟踪文件
如何使用?
目前最好使用pipx安装Toolong。
pipx install toolong
你也可以使用Pip安装Toolong:
pip install toolong
[!注意] 如果你使用pip,理想情况下应该创建一个虚拟环境以避免潜在的依赖冲突。
无论你如何安装Toolong,tl
命令都会被添加到你的路径中:
tl
在不久的将来,将会有更多的安装方法,希望包括你喜欢的包管理器。
兼容性
Toolong适用于Linux、macOS和Windows。
打开文件
要用Toolong打开文件,将文件名作为参数添加到命令中:
tl mylogfile.log
如果添加多个文件名,它们将在标签页中打开。
添加--merge
开关可以打开多个文件并将它们合并到一个视图中:
tl access.log* --merge
在应用程序中,按f1获取额外帮助。
管道
除了指定文件外,你还可以直接将数据通过管道传输到tl
。
这意味着你可以跟踪来自其他进程的数据,而不一定是文件。
这里有一个将tree
命令的输出通过管道传输到Toolong的例子:
tree / | tl
作者是谁?
这个家伙。一个不知怎么靠写终端应用程序维生的前Web开发者。
历史
如果你在Twitter上关注我,你可能看到我把这个应用称为Tailless,因为它最初是打算替代tail
+ less
组合的。
我最终选择了"Toolong"这个名字,因为它更贴切,而且仍然保留了相同的首字母。
开发
Toolong v1.0.0有一个稳固的功能集,涵盖了我大部分的需求。 然而,像这样的工具还有大量可以添加的功能,我可能会在将来实现其中的一些。
如果你想讨论Toolong,可以在Textualize Discord服务器上找到我。
致谢
我感谢LogMerger项目,在构建Toolong时我参考了它(并借鉴了其正则表达式)。
替代方案
Toolong并不是第一个用于处理日志文件的TUI。lnav是一个更成熟的替代方案。