- 📦 Stay lightweight
- 🎮 Keep its features as simple as possible
- 🧠 Use SQL to filter JSON log files
- 💡 Use the SQLite's powerful JSON query functions+operators!
- 🛢 Keep queried logs in a nice portable
SQLitefile - ⚡️ Tail JSON log files based on your query predicates
- 🦾 Run
SQLitein-memory for faster processing
This tool doesn't have any plans to cover jq or any other query syntax othen than provided out of the box from SQLite.
cargo install jlqIt might help to first take a look at the options avaiable via 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 processNOTE: When running jlq with SQLite on-disk mode (the default), a SQLite file named jql.db is created from the directory where the command was run.
jlq -q "log_line->>'status_code' IN (200, 400)" log_a.json log_b.jsonjlq -t -q "log_line->>'status_code' IN (200, 400)" log_a.json log_b.jsonjlq -t -m -q "log_line->>'status_code' IN (200, 400)" log_a.json log_b.jsonPRs are welcome!
This project is licensed under the MIT license
Leave a ⭐ if you like this project
Made with 💖 using SQLite 🛢 and Rust 🦀
