Skip to content

Releases: vinnytherobot/logscope-cli

v0.4.7

02 May 15:15
f65847a

Choose a tag to compare

0.4.7 (2026-05-02)

Bug Fixes

  • ci: remove --no-root to fix pytest module not found (2f5f053)

v0.4.6

02 May 15:05

Choose a tag to compare

  • no changes

v0.4.3

05 Apr 14:19

Choose a tag to compare

  • no changes

v0.4.2

05 Apr 14:11

Choose a tag to compare

  • no changes

LogScope v0.4.1

05 Apr 13:31

Choose a tag to compare

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 ERROR

Level 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 ERROR

Improved 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 --pulse flag from:
    • docs/architecture-review.md
    • CONTRIBUTING.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.

04 Apr 15:34

Choose a tag to compare

Fixed

  • Bug fixes:
    • Fix keyword highlight case sensitivity - --search timeout now highlights TIMEOUT case-insensitively
    • Fix line counting misalignment in get_lines() - empty lines no longer cause counter misalignment
    • Fix spectra theme trailing spaces - removed extra space from CRITICAL and FATAL icons

Refactored

  • Remove deprecated _normalize_level_token wrapper 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

02 Apr 21:17

Choose a tag to compare

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 re import from viewer.py
  • Removed unnecessary f-string prefix from tailing message
  • Removed unused pytest import 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 works
  • test_format_log_with_highlight - Verifies keyword highlighting
  • test_format_log_with_line_numbers_and_highlight - Combined line numbers + highlight
  • test_format_log_highlight_case_sensitive - Case sensitivity behavior
  • test_format_log_highlight_empty_keyword - Edge case handling
  • test_format_log_highlight_not_in_message - Non-matching keyword handling
  • test_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" --dashboard

Version 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

28 Mar 17:08

Choose a tag to compare

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
  • --follow shows 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 spectra

Compatibility: --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 spectra

Existing themes remain: default, neon, ocean, forest, minimal.


Version flag

logscope --version
logscope -V

Prints 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

  • --level with 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 | logscope

HTML export

logscope failed_job.log --export-html report.html

Gzip

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-level behavior.
  • 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 install

Tech stack


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

14 Mar 23:38

Choose a tag to compare

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.