Skip to main content

A terminal log file viewer with enhanced JSONL support - based on Toolong

Project description

TailJLogs

PyPI Tests

Based on Textualize/toolong by Will McGugan

A terminal application to view, tail, merge, and search log files with enhanced JSONL support.

TailJLogs Screenshot

What's New in v2.0

TailJLogs v2.0 is a complete rewrite based on the excellent Toolong project by Will McGugan. Key enhancements:

  • JSONL Compact Format: JSONL logs display in a readable format: 01-15T09:36:38.194 INFO module 39 : message
  • Separate Filter Dialog (\ key): Hide non-matching lines (vs Find which highlights matches)
  • Full TUI Experience: Navigate with arrow keys, view detailed JSON with Enter
  • Updated for Textual 7.x: Modern async terminal UI

Features

  • 📋 Live tailing of log files
  • 🎨 Syntax highlights common web server log formats
  • ⚡ Fast - opens multi-gigabyte files instantly
  • 📝 Enhanced JSONL support: Compact formatted display + pretty-printed detail view
  • 📦 Opens .bz and .bz2 files automatically
  • 🔀 Merges log files by auto-detecting timestamps
  • 🔍 Find (/ or Ctrl+F): Highlight matching lines
  • 🔎 Filter (\): Show only matching lines

Installation

# Using pip
pip install tailjlogs

# Using uv (recommended)
uv tool install tailjlogs

# Using pipx
pipx install tailjlogs

After installation, use either tailjlogs or tl command.

Usage

# View a log file
tailjlogs /path/to/logfile.jsonl
tl /path/to/logfile.jsonl

# View multiple files (merged by timestamp)
tl access.log error.log app.jsonl

# View a directory of log files
tl /var/log/myapp/

Keyboard Shortcuts

Navigation

Key Action
/ or w/s or k/j Move up/down a line
/ or h/l Scroll left/right
Page Up/Page Down or Space Next/previous page
Home or G Jump to start
End or g Jump to end (press twice to tail)
m/M Advance +1/-1 minutes
o/O Advance +1/-1 hours
d/D Advance +1/-1 days

Features

Key Action
/ or Ctrl+F Find - highlight matching lines
\ Filter - show only matching lines
Enter Toggle pointer mode / View JSON detail
Ctrl+L Toggle line numbers
Ctrl+T Tail current file
? Show help
Ctrl+C or q Exit

JSONL Format

TailJLogs displays JSONL log entries in a compact format:

01-15T09:36:38.194 INFO     auth                  42 : User logged in
01-15T09:36:39.521 WARNING  api                  156 : Rate limit approaching
01-15T09:36:40.003 ERROR    database             89 : Connection timeout

Press Enter on any line to see the full JSON object, pretty-printed.

Expected JSONL fields:

{
  "timestamp": "2025-01-15T09:36:38.194Z",
  "level": "INFO",
  "message": "User logged in",
  "module": "auth",
  "line": 42
}

Development

git clone https://github.com/brianoflondon/tailjlogs.git
cd tailjlogs
uv sync
uv run tailjlogs --help

Credits

This project is based on Toolong by Will McGugan and the Textualize team. Built with Textual.

License

MIT License - see LICENSE for details.

Original Toolong: Copyright (c) 2024 Will McGugan
This fork: Copyright (c) 2025 Brian of London

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tailjlogs-2.0.0.tar.gz (153.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tailjlogs-2.0.0-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

Details for the file tailjlogs-2.0.0.tar.gz.

File metadata

  • Download URL: tailjlogs-2.0.0.tar.gz
  • Upload date:
  • Size: 153.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tailjlogs-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8f795312a4a2a990325cadce53c1d608d2b570390054800fd953a17904f50276
MD5 184c3decbd8fff0846873f968da6bcb4
BLAKE2b-256 8286c9863f7549b1c3bd08c1f9d49f747148ad5f07ef1e750fe0dbde0758cba4

See more details on using hashes here.

File details

Details for the file tailjlogs-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: tailjlogs-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tailjlogs-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad80ba4025e123b2f00c91987f6880cacd723729fa8c6794377219f2e1157c9e
MD5 168a6328ed3b9eb23a50523f72ba6364
BLAKE2b-256 4c2e6da496640ebe11a751c5036cd3263f0b929c709220d3f1e017de2c3de70a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page