#log-viewer #json-log #logging #log-file #log-line #json-logging #buyan

bin+lib bunyan_view

Node Bunyan 结构化日志文件查看器的完整功能端口

5 个版本

0.3.3 2022 年 12 月 27 日
0.3.2 2022 年 12 月 27 日
0.3.0 2022 年 11 月 29 日
0.2.1 2021 年 12 月 16 日
0.2.0 2021 年 11 月 30 日

#579 in 调试

24 每月下载次数

MPL-2.0 许可证

165KB
2K SLoC

Rust Crates.io Crates.io

Bunyan Viewer

Screenshot

本项目是对 node-bunyan bunyan 格式 日志查看器 CLI 工具 的重写,完全使用 Rust 实现。

Bunyan Viewer 旨在成为 node bunyan 工具的独立替代品,因此它

  • 不需要额外的运行时(如 nodejs)
  • 可以轻松处理大型日志文件
  • 以内存高效的方式处理每条日志行

差异

我们旨在提供尽可能接近 node-bunyan 查看器的输出,同时有一些故意的 差异

功能

Bunyan Viewer 支持以下功能

  • 与 node-bunyan 查看器相同的输出模式(-o, --output 标志)
    • bunyan:0 缩进 JSON,bunyan 的原生格式
    • inspect:node.js util.inspect 输出
    • json:JSON 输出,2 空格缩进
    • json-N:JSON 输出,N 空格缩进,例如 "json-4"
    • long:(默认)美观的
    • short:与 "long" 相似,但更简洁
    • simple:级别,后跟 "-" 和消息
  • 支持条件匹配(--condition 标志)
  • 本地时间转换(-L, --time-local 标志)
  • 按级别过滤(-l, --level 标志)
  • 严格模式(--strict 标志)
  • 可选颜色化 - 添加一些额外的颜色(使用 --color 标志)
  • 分页支持(使用 --pager 标志)
  • 解压 gzip 归档
  • Node bunyan CLI 兼容性
  • 支持查看大型日志文件

限制

Bunyan Viewer 目前尚不支持以下功能

  • 通过 DTrace 运行时日志监控(使用 -p 标志)

安装

通过安装 crate 到您的 Cargo Crates 启用环境中安装 Bunyan Viewer

  cargo install bunyan_view

用法

直接查看一个或多个 bunyan 日志文件

  bunyan logs/logs-001.log logs/logs-002.log logs/big-log-003.log.gz

通过管道输入查看日志

  cat logs/logs-001.log | bunyan 

或者

  bunyan < logs/logs-001.log

获取更多使用帮助

  bunyan --help

测试

在运行自动测试套件时,请确保启用 dumb_terminal 功能以禁用颜色化。您可以通过以下方式调用 cargo test

  cargo test --features dumb_terminal

其他 Bunyan 项目

许可

本项目受 Mozilla Public License Version 2.0 许可。有关更多详细信息,请参阅 LICENSE.txt 文件。

依赖

~6–16MB
~202K SLoC