# Tailspin — Log File Highlighter for the Terminal > Tailspin is a command-line log file highlighter written in Rust that automatically detects and colorizes dates, IPs, UUIDs, HTTP methods, log levels, and other common patterns to make log reading faster. ## Install Save in your project root: # Tailspin — Log File Highlighter for the Terminal ## Quick Use ```bash # Install on macOS brew install tailspin # Install via Cargo cargo install tailspin # Highlight a log file tspin /var/log/syslog # Pipe any output through Tailspin kubectl logs deployment/api | tspin # Follow a log file with highlighting tspin -f /var/log/app.log ``` ## Introduction Tailspin is a Rust-based CLI tool that adds instant syntax highlighting to any log output. Unlike grep or less, Tailspin automatically detects common log patterns — timestamps, IP addresses, UUIDs, HTTP methods, URLs, log levels, and key-value pairs — and colorizes them without any configuration. It works as a drop-in replacement for tail or less when reading logs. ## What Tailspin Does - Automatically highlights dates, IPs, UUIDs, URLs, numbers, and log levels - Works with any log format without requiring format-specific configuration - Supports piping from any command (kubectl, docker, journalctl, cat) - Follows log files in real time with the -f flag like tail -f - Provides a built-in pager for scrolling through large files ## Architecture Overview Tailspin is a single Rust binary that reads input line by line and applies a series of regex-based highlighters. Each highlighter matches a specific pattern type (ISO timestamps, IPv4/IPv6, severity keywords) and wraps matches in ANSI color codes. The matching pipeline is optimized for throughput so it does not bottleneck high-volume log streams. Output is rendered to the terminal or piped through a pager. ## Self-Hosting & Configuration - Install as a single static binary; no runtime dependencies - Custom highlight rules can be added via a TOML config file at ~/.config/tailspin/config.toml - Override default colors by specifying custom ANSI color codes per pattern type - Disable specific highlighters with --disable flag - Integrates with any terminal that supports ANSI escape codes ## Key Features - Zero-config highlighting for the most common log patterns - High-throughput line processing that keeps up with streaming logs - Built-in pager with search support (press / to search) - Custom highlight groups definable in TOML configuration - Works over SSH and in containers where GUI tools are unavailable ## Comparison with Similar Tools - **ccze** — C-based log colorizer with format-specific parsers; Tailspin is format-agnostic - **lnav** — full log navigator with indexing and SQL queries; Tailspin focuses purely on highlighting - **grc** — generic colourizer using regex config files; Tailspin needs no configuration for common patterns - **bat** — syntax-highlighted cat for code files; Tailspin specializes in log file patterns - **less** — standard pager without colors; Tailspin adds automatic log-aware highlighting ## FAQ **Q: Does Tailspin work with JSON logs?** A: Yes. It highlights JSON keys, values, timestamps, and other patterns within JSON-formatted log lines. **Q: Can I use Tailspin as a pager for other commands?** A: Yes. Pipe any command output through tspin to get instant highlighting with a built-in pager. **Q: Does it slow down high-volume log tailing?** A: No. Tailspin is written in Rust and processes lines at speeds well above typical log throughput rates. **Q: How do I add custom patterns?** A: Add regex rules and ANSI color codes to the [groups] section in ~/.config/tailspin/config.toml. ## Sources - https://github.com/bensadeh/tailspin --- Source: https://tokrepo.com/en/workflows/asset-4357ea5a Author: AI Open Source