id = "lazyjournal"
name = "lazyjournal"
homepage = "https://github.com/Lifailon/lazyjournal"
description = "TUI for viewing logs from journald, auditd, file systems, containers and Kubernetes."
executables = ["lazyjournal"]
[dotfiles]
paths = ["~/.config/lazyjournal/config.yml"]
secret = []
[commands]
format = 1
label = "Open lazyjournal"
description = "Start the log viewer with common display and source options. Short flags and the Podman/Kubernetes options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/Lifailon/lazyjournal/blob/main/main.go"
revision = "main 2026-10-27"
evidence = """
--tail-lines Change the number of log lines to output (range: 200-200000, default: 10K)
--update-interval Change the update interval of the log output (range: 2-10, default: 5)
--mouse-disable Disable mouse control support
--wrap-disable Disable wrap mode in log content
--color-mode Highlighting mode for logs (available values: default, tailspin, bat or disable)
--docker-context Use the specified Docker context (default: default)
--journal-priority Filter the log output by priority (available values: debug, info, notice, warning, err, crit, alert, emerg)
--ssh Connect to a remote host using standard ssh options (e.g. lazyjournal --ssh "root@192.168.3.100 -p 22")
--tail-mode-disable Disable streaming of new events (log is loaded once without update)
"""
[[commands.field]]
id = "ssh"
label = "Remote host (SSH)"
description = "user@host, optionally followed by ssh options."
type = "string"
option = ["--ssh"]
sources = ["help"]
[[commands.field]]
id = "tail_lines"
label = "Log lines"
description = "200 to 200000."
type = "integer"
option = ["--tail-lines"]
sources = ["help"]
[[commands.field]]
id = "update_interval"
label = "Update interval (seconds)"
description = "2 to 10."
type = "integer"
option = ["--update-interval"]
sources = ["help"]
[[commands.field]]
id = "color_mode"
label = "Highlighting"
type = "enum"
option = ["--color-mode"]
choices = [{ value = "default", label = "Default" }, { value = "tailspin", label = "tailspin" }, { value = "bat", label = "bat" }, { value = "disable", label = "Disabled" }]
sources = ["help"]
[[commands.field]]
id = "priority"
label = "Minimum journal priority"
type = "enum"
option = ["--journal-priority"]
choices = [{ value = "debug", label = "debug" }, { value = "info", label = "info" }, { value = "notice", label = "notice" }, { value = "warning", label = "warning" }, { value = "err", label = "err" }, { value = "crit", label = "crit" }, { value = "alert", label = "alert" }, { value = "emerg", label = "emerg" }]
sources = ["help"]
[[commands.field]]
id = "docker_context"
label = "Docker context"
type = "string"
option = ["--docker-context"]
sources = ["help"]
[[commands.field]]
id = "no_stream"
label = "Load logs once (no streaming)"
type = "boolean"
option = ["--tail-mode-disable"]
sources = ["help"]
[[commands.field]]
id = "no_mouse"
label = "Disable mouse"
type = "boolean"
option = ["--mouse-disable"]
sources = ["help"]
[[commands.field]]
id = "no_wrap"
label = "Disable line wrap"
type = "boolean"
option = ["--wrap-disable"]
sources = ["help"]
[[commands.task]]
id = "remote"
label = "View a remote host"
fields = ["ssh"]
required = ["ssh"]
[[commands.task]]
id = "errors"
label = "Errors only"
fields = ["priority"]
required = []
set = { priority = ["err"] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["ssh", "priority", "tail_lines", "color_mode"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["update_interval", "docker_context", "no_stream", "no_mouse", "no_wrap"]