Repolode
TheEdgeOfRage

TheEdgeOfRage/logfmt

一个用 Go 编写的命令行工具,可对 logfmt 日志进行语法高亮、过滤和字段重排。

Star
57
Fork
9
未关闭 Issue
2
最近提交
6天前

这是什么?

logfmt CLI 从标准输入读取 logfmt 格式的日志行,并把更易读的结果输出到标准输出。它会为日志做语法高亮,把 timestamp 和 level 固定放在特定位置并省略其键名,还可以选择显示或隐藏指定字段。

工具支持按日志级别过滤,只显示不低于所选级别(如 WARN)的记录,也支持按 key=value 精确匹配过滤,方便只查看某次 API 调用或某个请求的日志。原始模式只输出字段值,类似 Unix 的 cut 命令;另有选项可保留没有所选字段的行。

工具遵循 Unix 管道的使用方式,常与 kubectl logs 或本地运行的 Go 服务配合使用。输出为管道或文件时会自动关闭颜色,也可以通过参数强制开启或关闭。

核心功能

  • 01为 logfmt 日志添加颜色高亮,timestamp 和 level 固定显示在特定位置
  • 02按最低日志级别过滤,如 WARN 或 ERROR
  • 03按精确的 key=value 条件过滤
  • 04通过逗号分隔的列表选择或排除输出字段
  • 05原始模式,只输出字段值

适用场景

  • 在终端中阅读本地 Go 服务输出的开发日志
  • 结合 kubectl logs 查看 Kubernetes Pod 日志,并定位某个请求
  • 把大量调试输出过滤为警告和错误信息

快速上手

  1. 1

    使用 Go 安装 logfmt 命令行工具

    go install github.com/TheEdgeOfRage/logfmt@latest
  2. 2

    将服务日志通过管道传给 logfmt

    go run yourservice.go | logfmt

使用前须知

  • 通过 go install 安装需要先配置 Go 工具链。
  • 过滤仅支持精确的 key=value 匹配,暂不支持正则或数值过滤。

标签

常见问题

logfmt 是什么?
一个用 Go 编写的命令行工具,可对 logfmt 日志进行语法高亮、过滤和字段重排。 logfmt CLI 从标准输入读取 logfmt 格式的日志行,并把更易读的结果输出到标准输出。它会为日志做语法高亮,把 timestamp 和 level 固定放在特定位置并省略其键名,还可以选择显示或隐藏指定字段。
logfmt 可以免费使用吗?用的什么许可证?
logfmt 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
logfmt 还在维护吗?
活跃维护中。logfmt 最近一次提交是在 2026年10月14日。
logfmt 适合用来做什么?
在终端中阅读本地 Go 服务输出的开发日志 结合 kubectl logs 查看 Kubernetes Pod 日志,并定位某个请求 把大量调试输出过滤为警告和错误信息
logfmt 怎么安装和运行?
使用 Go 安装 logfmt 命令行工具: go install github.com/TheEdgeOfRage/logfmt@latest 将服务日志通过管道传给 logfmt: go run yourservice.go | logfmt
在哪里获取 logfmt?
源代码和安装说明在 GitHub 上:https://github.com/TheEdgeOfRage/logfmt

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目