journalctl output is dense: a timestamp, host, unit, a bracketed PID, then the payload — and multi-line messages split across rows. Journalctl Log Formatter aligns every entry into time | host | unit | msg columns, folds continuation lines and -- separators back into their parent message, and keeps PID tokens visible.
The per-unit, per-host, and per-hour summaries turn a wall of systemd text into the short answer: “which unit talked, when, and how much.”
Two output shapes are recognized: the default short format (Jun 11 14:00:00 host unit[pid]: message) and the ISO timestamp variant produced by journalctl -o short-iso or filtered with --since/--until (2025-06-11 14:00:00 host unit[pid]: message). A line that matches neither pattern is treated as a continuation of the previous entry — the exact behavior you want for stack traces, multi-line JSON payloads, or the blank -- reboot separators journalctl inserts, all of which get folded back into the owning entry with an arrow (→) joining the pieces instead of being scattered as orphaned rows. Error flagging looks for common failure words (ERROR, error, Fault, fault, failed, Fail, crash, panic) anywhere in the folded message, including its continuation lines, so a message whose failure keyword only shows up on line two of a traceback still gets tagged.