1 个不稳定版本
0.1.0 | 2023 年 1 月 3 日 |
---|
#20 in #json-log
9.5MB
158 行
包含 (Mach-o exe, 9.5MB) godeng, (Mach-o exe, 2.5MB) flog
jlq
使用 SQLite 的强大功能快速有效地查询 JSON 日志文件
📜 核心理念
- 📦 保持轻量级
- 🎮 尽可能简化功能
- 🧠 使用 SQL 过滤 JSON 日志文件
- 💡 使用 SQLite 强大的 JSON 查询函数+运算符!
- 🛢 将查询的日志保存在漂亮的便携式
SQLite
文件中 - ⚡️ 根据您的查询谓词跟踪 JSON 日志文件
- 🦾 以内存中运行
SQLite
的方式运行以提高处理速度
⚠️ 非目标
此工具没有计划覆盖 jq
或任何其他查询语法,除非 SQLite
提供的。
🚀 安装
Cargo
cargo install jlq
🛠️ 使用方法
首先查看通过 jql -h
可用的选项可能会有所帮助
命令行选项
jlq 0.1.0
USAGE:
jlq [FLAGS] [OPTIONS] [FILE]...
FLAGS:
-d, --debug Activate debug mode
-h, --help Prints help information
-m, --in-memory-storage Run SQLite in-memory mode
-t, --tail
-V, --version Prints version information
-v, --verbose Verbose mode (-v, -vv, -vvv, etc.)
OPTIONS:
-q, --query <query> SQLite json query e.g. "log_line->>'level_name' = 'DEBUG'"
ARGS:
<FILE>... Files to process
注意:当使用磁盘模式(默认模式)运行 jlq
时,将在运行命令的目录中创建一个名为 jql.db
的 SQLite
文件。
将日志文件导入 SQLite,带或不带可选查询
jlq -q "log_line->>'status_code' IN (200, 400)" log_a.json log_b.json
使用磁盘 SQLite 文件跟踪日志文件
jlq -t -q "log_line->>'status_code' IN (200, 400)" log_a.json log_b.json
使用内存中的 SQLite 跟踪日志文件
jlq -t -m -q "log_line->>'status_code' IN (200, 400)" log_a.json log_b.json
贡献
欢迎提交 PR
许可证
本项目受 MIT 许可证的许可
显示您的支持
如果您喜欢此项目,请留下 ⭐
使用 💖 和 SQLite
🛢 和 Rust 🦀 制作
依赖项
~44MB
~716K SLoC