在终端中查看大量的 JSON 格式日志常常让人头疼,信息杂乱无章,难以快速定位关键信息。l'oGGo 正是为了解决这个问题而生的!它是一款基于 Golang 开发的终端用户界面 (TUI) 应用,能够有效地解析和展示 JSON 日志流,让日志分析变得轻松高效。
l'oGGo 的优势
相比于传统的终端日志输出,l'oGGo 提供了更加友好的交互式界面,让您可以:
过滤/搜索日志: 无需改动原始日志流,即可根据自定义的过滤条件实时筛选出想要查看的日志条目。l'oGGo 提供了便捷的键值查找和操作符,方便您构建复杂的过滤表达式。
# 使用 --filter 参数进行过滤 loggo stream --file <日志文件> --filter 'level="error" and message~="timeout"'
- 查看日志详情: 可以深入查看每个日志条目的详细信息,方便分析问题根源。
- 复制日志条目: 可以将单个日志条目复制到剪贴板,方便分享和记录。 (Linux 系统需要安装 X11 开发包,例如
libx11-dev
、xorg-dev
或libX11-devel
) - 便捷的导航: 支持使用方向键在大型日志网格中上下左右移动,快速浏览日志内容。
- 文本选择和复制: 支持在屏幕上选择文本并复制到剪贴板,方便提取关键信息。(macOS 使用
Alt
+ 鼠标点击/拖动进行水平选择,Cmd
+Opt
+ 鼠标点击/拖动进行块/垂直选择;复制使用Cmd
+C
。其他系统使用Ctrl
+C
复制) - 自定义渲染模板: 您可以根据自己的需求创建和配置渲染模板,控制日志的显示格式。
- 微调列显示: 通过模板,您可以使用正则表达式精确控制每一列的显示内容。
快速上手
安装:
# 启用 install 模块的交互式 UI,x i 为 x install 的简写
x i
选定软件后,按下回车键将展示一系列操作选项
使用:
从文件读取日志:
loggo stream --file <日志文件>
从管道读取日志:
tail -f <日志文件> | loggo stream
Kubernetes 示例:
kubectl logs -f -n <命名空间> <Pod 名称> | loggo stream
GCP Logging 集成:
loggo gcp-stream \
--filter 'resource.labels.namespace_name="some-namespace" resource.labels.container_name="some-container"' \
--project <GCP 项目 ID> \
--from 10m
自定义模板:
loggo stream --file <日志文件> --template <模板文件>
创建/编辑模板:
loggo template
# 编辑现有模板
loggo template --file <模板文件>
l'oGGo 是一款功能强大的终端日志查看工具,它能够帮助您更好地理解和分析日志数据,提高工作效率。如果您经常需要在终端中查看日志,不妨试试 l'oGGo,相信它会让您眼前一亮!
来源:
https://github.com/aurc/loggo/blob/main/README.md
更多内容请查阅 : install/loggo
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。