Skip to content
Docs · Logs

Using Kubyl

Logs

Follow logs from pods, workloads and services with search and level filters.

Press L on a pod, a workload (Deployment, StatefulSet, DaemonSet, ReplicaSet, Job) or a Service. For workloads and services Kubyl streams every pod of the selector, and you can edit the label selector in the view. Pods that join or leave are picked up live.

Containers

The container picker offers All containers or a single one. Enable Include init or ephemeral containers to add those.

Where to start

The Since menu starts the stream at the last 100, 1,000 or 10,000 lines, the last 5, 15 or 60 minutes or 6 or 24 hours, everything, or Since a time… (local time such as 10:42 or 2026-09-25 10:42, or RFC 3339). logs.tail_lines sets the default (1000).

Toggles

KeysAction
SpacePause or resume
FFollow
WWrap lines
TTimestamps
PPrevious container instance (--previous)
ShiftJCycle JSON: raw, inline, pretty
  • Level chips with counts from TRACE to FATAL plus unknown. Levels are detected from JSON, logfmt, klog and plain text, and stack-trace lines take the level of the line above.
  • JSON fields are clickable to filter on them.
  • Search with regex and case-sensitivity options and a match counter such as *2 of 27*. Filter to matches hides everything else.
KeysAction
/orCtrlFSearch
MFilter to matches
NorShiftNNext / previous match
AltCtrlXToggle regex
AltCtrlCToggle case-sensitive
GGorHomeTop
ShiftGorEndBottom
CtrlRRestart the stream

Copy and download

KeysAction
CtrlCCopy the selection
CtrlShiftCCopy the visible lines
CtrlSDownload the visible lines
CtrlShiftSDownload the full log

Downloads go to your Downloads folder by default.

Reliability

Each stream reconnects with backoff, a Restart button is always there, and a Jump to newest chip appears when you scroll away from the tail. Kubyl keeps up to logs.ring_buffer_lines (100,000) lines per view. Log contents are never written to disk.

Something missing or wrong? Open an issue on GitHub.