Initial beta release of logtail — a high-performance CLI tool for streaming and filtering large log files.
Because existing tools fall apart when logs get big or workflows get real.
tail -f→ no filteringgrep→ not built for real-time streaming- heavy log tools → overkill for simple debugging
logtail focuses on doing one thing well:
Stream large files, filter them in real time, and stay fast with minimal memory usage.
- Stream large files without loading them into memory
- Follow file updates (
--follow, liketail -f) - Filter using substring or regular expressions
- Case-insensitive matching
- Invert match
- Line numbers
- Count matches
- Works with files and stdin
git clone https://github.com/YOUR_USERNAME/logtail.git
cd logtail
cargo build --releaselogtail [FILE]logtail [FILE] --followor
logtail [FILE] -flogtail [FILE] --contains "ERROR"or
logtail [FILE] -c "ERROR"logtail [FILE] --regex "ERROR|WARN"or
logtail [FILE] -r "ERROR|WARN"logtail [FILE] -r "error" -ilogtail [FILE] -c "DEBUG" -vlogtail [FILE] -nlogtail [FILE] -c "ERROR" -Ccat [FILE] | logtail -c "ERROR"logtail /var/log/app.log -f -r "ERROR|PANIC"logtail /var/log/app.log -v -c "DEBUG"logtail /var/log/app.log -r "status=500" --countlogtail /var/log/app.log -c "DEBUG" -nlogtail is designed with performance in mind:
- Uses streaming I/O (BufReader)
- Processes logs line-by-line
- Avoids loading full files into memory
- Reuses buffers to reduce allocations
- Compiles regex once
Memory usage is independent of file size.
- Basic file rotation handling
- Case-insensitive substring matching allocates per line (to be optimized)
- No multi-file support yet
- No structured log parsing (JSON, etc.)
- Improved file rotation detection (inode tracking)
- Faster case-insensitive matching
- Multi-file support
- JSON log filtering
- Highlighting matches
- Performance benchmarks
MIT License