Skip to content

codervijo/journalview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JournalView

A fast TUI for journalctl — pick a unit, scroll the logs.

crates.io CI License: MIT Downloads

jview1

Why JournalView?

journalctl is powerful but pages of text are awkward to navigate, and remembering -u <unit> for every service gets old fast. JournalView is a lightweight terminal UI written in Rust on top of Ratatui: it lists your systemd service units in a side panel, lets you pick one with the keyboard, and shows that unit's journal in a scrollable pane next to it. If no unit is selected it falls back to journalctl --since=yesterday. No daemon, no config — just a binary that shells out to journalctl and systemctl.

Features

  • Three-pane layout — left: systemd service units; top right: search box; bottom right: log view; bottom: help line.
  • Unit-scoped log view — pick a .service unit with Enter and the log pane refreshes with journalctl -u <unit>.
  • Pure keyboard navigationTab cycles panes, arrow keys scroll vertically and horizontally inside each pane.
  • No config to write — works out of the box on any host where journalctl and systemctl are on $PATH.
  • Search boxTODO/WIP: typing in the search pane is captured but does not yet filter the log view. Tracked in ROADMAP.md.

Comparison

Cells marked TODO need confirmation against current upstream behavior — see issue tracker.

Capability JournalView journalctl lnav lazyjournal
Interactive TUI Yes No (pager only) Yes Yes
Reads systemd journal Yes (shells out) Yes (native) TODO TODO
Built-in unit picker Yes No TODO TODO
Live tail / follow No Yes (-f) TODO TODO
Regex search inside the TUI No (WIP) Yes (-g) TODO TODO
Reads arbitrary log files No No TODO TODO
Single static binary Yes (Rust) n/a (ships with systemd) TODO TODO

Installation

Prebuilt binary (Linux)

curl -sL https://github.com/codervijo/journalview/raw/main/install.sh | bash

This installs to ~/.local/bin/journalview. Make sure ~/.local/bin is on your $PATH.

From crates.io

cargo install journalview

From source

Ensure Rust is installed (see rustup.rs), then:

cargo install --git https://github.com/codervijo/journalview.git journalview

Other package managers

  • Homebrew — TODO
  • Arch (AUR) — TODO
  • Standalone release binaries — see the releases page (added by the release workflow on tag push).

Requirements

JournalView shells out to journalctl and systemctl, so it expects a Linux host with systemd. It does not need root, but it can only show journal entries the current user is allowed to read.

Usage

Launch:

journalview

The UI opens with the Logs pane focused, showing journalctl --since=yesterday. Tab cycles between Logs → Selector → Search → Logs. In the Selector pane, move the cursor with Up/Down and press Enter to filter the log pane by that service unit.

Hotkeys

Key Pane Action
Tab any Cycle to the next pane
q / Q any Quit
Up / Down Logs, Selector Scroll vertically
Left / Right Logs, Selector Scroll horizontally
Enter Selector Filter the log pane by the highlighted service unit
Up / Down Selector Also clears the active unit filter
any character Search Append to search buffer (filtering not yet wired up — see ROADMAP)
Backspace Search Delete last character from the buffer
Enter / Esc Search Leave the Search pane

Contributing

Contributions are very welcome. See CONTRIBUTING.md for dev setup, the test loop, and the PR process, and have a look at issues tagged good first issue for a starting point.

License

This project is licensed under the MIT License.

Acknowledgements

Thanks to the following projects for inspiration:

Inspired by the functionality of journalctl and enhanced by the capabilities of Rust for high-performance, terminal-based tools.

About

JournalView is a lightweight, terminal-based application written in Rust that allows users to efficiently view, filter, and navigate system logs from journalctl.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors