Kubernetes pod logs are usually structured or half-structured: zap output carrying level, ts, caller, msg plus a bag of context keys, sitting next to plain stderr text from libraries. Kubernetes Pod Log Formatter parses the structured records and produces aligned columns — time | level | caller | message | extra — while leaving plain lines readable.
Epoch-fraction timestamps are converted to ISO, unlisted context keys become key=value after the message, and a per-level count gives an instant health read of the pod's output.
Each pasted line is checked independently: if it starts with { and parses as JSON, it is treated as a zap-style structured record — level, ts, caller and msg/message are pulled into their own columns, and every remaining key (request IDs, status codes, latencies, nested objects) is serialized after the message as key=value pairs so no context is lost even though it is not part of the fixed column layout. If ts is a JSON number it is read as epoch seconds (fractional part included) and converted to an ISO 8601 UTC string; if it is already a string it passes through unchanged. Lines that are not JSON are still useful: an ISO timestamp prefix is pulled out if present, and a bracketed level tag like [WARN] or [ERROR] is recognized so plain fmt.Println/logrus-text output still gets a level column and counts toward the warn/error totals, even though it never had a caller field to show.