Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

██████╗ ███╗   ██╗ ██████╗ ██╗  ██╗███████╗
██╔══██╗████╗  ██║██╔═══██╗██║ ██╔╝██╔════╝
██████╔╝██╔██╗ ██║██║   ██║█████╔╝ █████╗  
██╔═══╝ ██║╚██╗██║██║   ██║██╔═██╗ ██╔══╝  
██║     ██║ ╚████║╚██████╔╝██║  ██╗███████╗
╚═╝     ╚═╝  ╚═══╝ ╚═════╝ ╚═╝  ╚═╝╚══════╝

A blazing-fast terminal log viewer with intelligent fuzzy filtering

Go Version License Build Status

Warning

Work in Progress - This project is actively under development. Features and API may change.

Interactive log streaming and filtering tool inspired by fzf, designed for developers who live in the terminal.

🚀 Quick Start

# Install
git clone https://github.com/spaceCabbage/pnoke
cd pnoke && make build && make install

# Stream logs with real-time filtering
sudo journalctl -f | pnoke
docker logs -f container_name | pnoke
kubectl logs -f deployment/app | pnoke

✨ Why pnoke?

pnoke isn't just another log viewer - it's built for the realities of modern development:

🧠 Smart Fuzzy Matching - Three-tier search prioritization: exact → contiguous → scattered
Handles Sudo Gracefully - Waits for password prompts to complete before starting UI
🔄 Persistent Filtering - Matched lines stay visible even when the buffer cycles
💾 Memory Efficient - Circular buffer handles millions of lines without memory bloat
🎯 Auto-highlighting - Instantly spots ERROR, WARN, INFO, SUCCESS in your logs
⚙️ Stream Control - Pause/resume, navigate, search - all while streaming live

🏃‍♂️ Real-World Examples

# Monitor Kubernetes pods with error filtering
kubectl logs -f deployment/api | pnoke --filter ERROR

# Debug Docker Compose services
docker-compose logs -f | pnoke

# System troubleshooting with sudo
sudo journalctl -f -u nginx | pnoke

# Monitor multiple log files
tail -f /var/log/{nginx,apache2}/*.log | pnoke

# Parse application logs with custom buffer
pnoke --buffer 5000 /var/log/app.log

# Follow growing log files like tail -f
pnoke -f /var/log/syslog

⚡ Performance

  • 🚀 Handles 100,000+ lines without breaking a sweat
  • 💨 Instant search - no lag even on massive log streams
  • 🪶 Minimal memory - circular buffer keeps memory usage constant
  • ⚡ Real-time - sub-millisecond filtering as you type

🎮 Usage

pnoke [OPTIONS] [FILE]

OPTIONS:
  -f, --follow         Follow file like tail -f
  -b, --buffer SIZE    Buffer size (default: 1000)
      --filter PATTERN Initial filter pattern
  -h, --help           Show help
  -v, --version        Show version

⌨️ Keyboard Controls

Key Action
[type] Filter as you type (including j, k, q)
Tab Toggle FUZZY/EXACT mode
↑/↓ Navigate up/down
Ctrl+J/K Navigate down/up (vim-style)
Home/End Go to top/bottom
Page Up/Down Scroll by page
Ctrl+C Clear current filter
Ctrl+P Pause/Resume live stream
? Toggle help overlay
Esc Quit

🎨 Features Matrix

Feature pnoke tail less multitail
✅ Real-time streaming
✅ Fuzzy search ⚠️
✅ Persistent filtering
✅ Smart case sensitivity
✅ Auto-highlighting
✅ Memory efficient ⚠️
✅ Vim navigation

⚙️ Configuration

Environment Variables

export PNOKE_BUFFER=2000        # Default buffer size
export PNOKE_FILTER="ERROR"     # Default filter pattern  
export PNOKE_FOLLOW=true        # Default to follow mode

Smart Features

Smart Case Sensitivity:

  • error → case-insensitive (matches ERROR, Error, error)
  • ERROR → case-sensitive (matches only ERROR)

Fuzzy vs Exact Modes:

  • FUZZY: err con matches "Error connecting to database"
  • EXACT: err con matches only lines containing that exact substring

Auto-highlighting:

  • 🔴 ERROR, FATAL, FAIL → Red
  • 🟡 WARN, WARNING → Yellow
  • 🔵 INFO, DEBUG → Blue
  • 🟢 SUCCESS, OK, PASS → Green

🔧 Build & Development

make build    # Build binary to ./bin/pnoke
make install  # Install to $GOPATH/bin  
make test     # Run comprehensive test suite
make lint     # Run linter
make clean    # Clean build artifacts

📄 License

GPL-3.0 License - see LICENSE.md for details.

About

A blazing-fast terminal log viewer with intelligent fuzzy filtering

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages