Releases: vinnytherobot/logscope-cli
v0.4.7
v0.4.6
- no changes
v0.4.3
- no changes
v0.4.2
- no changes
LogScope v0.4.1
LogScope v0.4.1 Release Notes
Overview
LogScope v0.4.1 introduces the --min-level threshold filter, expanded CI testing across Python versions, improved timestamp parsing, and new development tooling. This release enhances log analysis flexibility with better level filtering and broader platform support.
New Features
📊 Minimum Level Threshold Filter (--min-level, -m)
Filter logs to show only entries at or above a specified severity level.
Usage:
# Show WARN and above (WARN, ERROR, CRITICAL, ALERT, FATAL)
logscope app.log --min-level WARN
# Combined with other filters
logscope production.log --min-level ERROR --search "database"
# Dashboard mode with threshold
logscope app.log --dashboard --follow --min-level ERRORLevel hierarchy: TRACE < DEBUG < INFO < NOTICE < WARN < ERROR < CRITICAL < ALERT < FATAL
CLI Changes
New Options
| Option | Short | Default | Description |
|---|---|---|---|
--min-level |
-m |
None |
Show logs at or above this level threshold |
Updated Commands
The min-level filter works in both standard and dashboard modes:
# Standard streaming output
logscope app.log --min-level WARN
# Dashboard mode
logscope app.log --dashboard --follow --min-level ERRORImproved Timestamp Parsing
LogScope now recognizes additional timestamp formats:
- ISO 8601:
2026-03-21T10:00:00Z,2026-03-21T10:00:00.123+02:00 - Common Log Format:
21/Mar/2026:10:00:00 +0000 - Syslog-style:
Mar 21 10:00:00 - Unix timestamp:
1711054800
CI/CD Improvements
Python Version Matrix
Tests now run across Python 3.9, 3.10, 3.11, and 3.12:
python-version: ['3.9', '3.10', '3.11', '3.12']Development Tooling
- Added coverage threshold (
fail_under = 70) to prevent regression - Added ruff-format pre-commit hook for consistent code style
Bug Fixes / Documentation
Documentation Fixes
- Removed references to non-existent
--pulseflag from:docs/architecture-review.mdCONTRIBUTING.md- Issue templates
Version Information
- Version: 0.4.1
- Previous Version: 0.3.1
- Release Date: 2026-04-05
Logscope v0.3.1 - Bugs fixed and code refactored.
Fixed
- Bug fixes:
- Fix keyword highlight case sensitivity -
--search timeoutnow highlightsTIMEOUTcase-insensitively - Fix line counting misalignment in
get_lines()- empty lines no longer cause counter misalignment - Fix spectra theme trailing spaces - removed extra space from
CRITICALandFATALicons
- Fix keyword highlight case sensitivity -
Refactored
- Remove deprecated
_normalize_level_tokenwrapper function from viewer.py - Compile regex patterns as module constants in parser.py for better performance
- DRY filter logic consolidated into
line_passes_filters()function - Fix mutable global state in themes.py by creating copy before modifying
Performance
- Regex patterns in parser.py are now compiled once at module load instead of per-line
DevOps
- Add pytest-cov and ruff as dev dependencies
- Add [tool.pytest.ini_options] and [tool.ruff] configuration to pyproject.toml
Full Changelog: v0.3.1...v0.3.1
Logscope v0.3.0 - Custom Keyword Highlighting
LogScope v0.3.0 Release Notes
Overview
LogScope v0.3.0 introduces custom keyword highlighting, a powerful new feature that allows users to visually emphasize specific terms in log messages. This release enhances log analysis workflows by making important keywords immediately stand out in terminal output.
New Features
🔍 Custom Keyword Highlighting (--highlight, -H)
Highlight specific keywords in log messages with customizable colors and styles.
Usage:
# Basic highlight (default: bold magenta)
logscope app.log --highlight "payment"
# Custom color/style
logscope app.log --highlight "timeout" --highlight-color "bold red"
# Combined with filters
logscope app.log --level ERROR --highlight "database" --highlight-color "yellow"
# Multiple filters with highlight
logscope production.log --level ERROR,WARN --since 1h --highlight "failed" --highlight-color "bold red"Supported styles: Any valid Rich style string (e.g., bold magenta, red, underline yellow, italic cyan)
CLI Changes
New Options
| Option | Short | Default | Description |
|---|---|---|---|
--highlight |
-H |
None |
Keyword to highlight in log messages |
--highlight-color |
- | bold magenta |
Rich style for highlighted keywords |
Updated Commands
The highlight feature works in both standard and dashboard modes:
# Standard streaming output
logscope app.log --highlight "error"
# Dashboard mode
logscope app.log --dashboard --highlight "critical" --highlight-color "bold red"API Changes
LogScopeManager.format_log()
Updated signature to support custom highlighting:
def format_log(
self,
entry: LogEntry,
line_number: Optional[int] = None,
highlight: Optional[str] = None,
highlight_color: str = "bold magenta"
) -> Text:stream_logs() and run_dashboard()
Both functions now accept highlight and highlight_color parameters.
Bug Fixes
Code Quality
- Fixed E701 lint violations in
parse_relative_time()(multiple statements on one line) - Removed unused
reimport fromviewer.py - Removed unnecessary f-string prefix from tailing message
- Removed unused
pytestimport from test file
Testing
New Test Suite: tests/test_highlight.py
Comprehensive test coverage for the highlight feature:
test_format_log_without_highlight- Ensures normal formatting workstest_format_log_with_highlight- Verifies keyword highlightingtest_format_log_with_line_numbers_and_highlight- Combined line numbers + highlighttest_format_log_highlight_case_sensitive- Case sensitivity behaviortest_format_log_highlight_empty_keyword- Edge case handlingtest_format_log_highlight_not_in_message- Non-matching keyword handlingtest_format_log_multiple_occurrences- Multiple keyword matches
Total test count: 28 (7 new + 21 existing)
Example Workflows
DevOps: Monitoring Payment Failures
logscope payment-service.log --level ERROR --highlight "payment" --highlight-color "bold red"Debugging: Database Issues
logscope app.log --search "timeout" --highlight "database" --highlight-color "yellow"Security: Authentication Events
logscope auth.log --highlight "failed" --highlight-color "bold red" --dashboardVersion Information
- Version: 0.3.0
- Previous Version: 0.2.0
- Release Date: 2026-04-02
- Commits: 2
LogScope v0.2.0 — Pulse, observability & smarter filtering
LogScope v0.2.0 — Pulse, observability & smarter filtering
Latest
LogScope v0.2.0
Second release of LogScope, a modern CLI for turning raw logs into structured, readable terminal output—with a stronger focus on DevOps workflows, JSON-heavy stacks (Kubernetes, Docker, APIs), and a new full-screen live HUD called Pulse.
This release improves consistency in the CLI (clear rules for which flags can be combined), adds minimum severity filtering, enriches JSON parsing with common observability fields, introduces a new visual theme, and ships --version.
Highlights
Pulse Signal Deck (--pulse)
A full-screen live view that combines a scrolling log window with a bottom Signal Deck bar:
- Instant and average throughput (lines per second)
- Rolling signal % (“health”) from recent severe lines (
ERROR,CRITICAL,ALERT,FATAL) - ASCII sparkline to spot bursts of severe events at a glance
--followshows a LIVE indicator when streaming
Examples
logscope app.log --pulse
logscope app.log --follow --pulse --min-level INFO
kubectl logs -f deploy/api | logscope --pulse --theme spectraCompatibility: --pulse cannot be used with --dashboard or --export-html (the CLI reports an error if you combine them).
Minimum severity filter (--min-level)
Filter by minimum severity instead of an explicit list of levels. LogScope uses a fixed order from TRACE through FATAL; lines at or above the chosen level are shown. Lines parsed as UNKNOWN still pass this filter so you do not lose unstructured lines silently.
Examples
logscope production.log --min-level WARN
logscope app.log --min-level INFO --search "payment"Compatibility: do not use --min-level together with --level in the same run (mutually exclusive; enforced by the CLI).
JSON observability fields
For single-line JSON logs, LogScope now extracts common fields when present:
| Concept | Typical keys (non-exhaustive) |
|---|---|
| Service | service, service.name, Kubernetes pod / container names, logger, etc. |
| Trace | trace_id, traceId, trace.id, otelTraceID, nested trace.id |
| Span | span_id, spanId, span.id |
When any of these are found, they appear as a compact dim prefix before the message (long trace/span values are truncated for display).
New theme: spectra
A cyan / magenta oriented theme with geometric icons, aligned with the Pulse HUD aesthetic.
logscope app.log --theme spectraExisting themes remain: default, neon, ocean, forest, minimal.
Version flag
logscope --version
logscope -VPrints the installed package version (via importlib.metadata when available).
Everything you already had (from v0.1.0), still here
Beautiful terminal output
Rich styling for common severities (INFO, WARN, ERROR, CRITICAL, DEBUG, etc.).
Universal log parsing
- Traditional lines:
[INFO] …,ERROR: … - NDJSON / JSON lines (Docker, Kubernetes, APIs)
Smart highlighting
Highlights IPs, URLs, timestamps, UUIDs, emails, HTTP methods, and status codes where patterns match.
Live dashboard (--dashboard)
Live counters and recent lines (unchanged; now also respects --min-level when used).
Filtering & search
--levelwith comma-separated levels--search,--regex/-e,--case-sensitive,--invert-match/-v
Stream & pipe support
kubectl logs my-pod -f | logscope
docker logs api-gateway | logscope
cat server.log | logscopeHTML export
logscope failed_job.log --export-html report.htmlGzip
Read .gz logs directly.
Configuration
.logscoperc in the project or home directory for default theme (existing behavior).
Quality & docs
- Tests expanded for JSON observability and
--min-levelbehavior. - README updated with new flags, Pulse, themes, and examples.
Installation
git clone https://github.com/vinnytherobot/logscope.git
cd logscope
pip install -e .Or with Poetry:
poetry installTech stack
- Rich — terminal rendering, layouts, Live, HTML export
- Typer — CLI
- typing-extensions — typing on Python 3.9+
- Python 3.9+
What’s next
Ideas for future releases:
- Log grouping (e.g. by service or trace)
- More themes and user-defined theme packs
- Pattern detection (anomalies, repeated errors)
- Performance tuning for very large streams and backpressure when piping
Feedback
Found a bug or have a feature idea? Open an issue on the repository and help improve LogScope.
Full diff: compare tag or commit range against v0.1.0 in the repo history.
LogScope v0.1.0 — First Public Release
LogScope v0.1.0
First public release of LogScope, a modern CLI tool for transforming raw logs into structured and beautiful terminal outputs.
LogScope focuses on developer experience by making log analysis faster, clearer, and visually structured directly in the terminal.
Key Features
Beautiful Terminal Output
Automatically detects log levels like INFO, WARNING, ERROR, CRITICAL, and DEBUG and applies rich terminal styling using Rich.
Universal Log Parsing
Supports both traditional logs:
[INFO] Server started
[ERROR] Database connection failed
and modern NDJSON / JSON logs used by tools like Docker and Kubernetes.
Smart Highlighting
Automatically detects and highlights:
- IP addresses
- URLs
- timestamps
- UUIDs
- email addresses
making important information instantly visible.
Live Dashboard
Monitor logs in real time with a live statistics dashboard.
Example:
logscope app.log --dashboard --follow
Displays live counters for log levels such as:
- Errors
- Warnings
- Info messages
Filtering & Search
Focus on what matters by filtering logs.
Examples:
logscope production.log --level ERROR
logscope server.log --search "timeout"
Stream & Pipe Support
LogScope works seamlessly with Unix pipes:
kubectl logs my-pod -f | logscope
docker logs api-gateway | logscope
cat server.log | logscope
HTML Export
Export styled logs into a shareable HTML report.
logscope failed_job.log --export-html report.html
Perfect for attaching logs to bug reports or sharing with teams.
Installation
Clone the repository and install locally:
git clone https://github.com/vinnytherobot/logscope.git
cd logscope
pip install -e .
Or install dependencies with Poetry:
poetry install
Tech Stack
- Rich → terminal rendering and layout
- Typer → CLI framework
- Python 3.9+
What's Next
Future improvements planned:
- Log grouping
- Custom themes
- Log pattern detection
- Performance improvements for very large streams
Feedback
Found a bug or have a feature suggestion?
Open an issue on the repository and help improve LogScope.