Container logs are never in one shape: the JSON file driver wraps every line in a structured record, older stacks emit stdout: prefixes, and busy apps just print raw text. Docker Container Log Formatter auto-detects each line, pulls out timestamp and stream, and renders a clean, aligned stream of time | stream | message rows you can scan — or export as TSV.
JSON records with embedded newlines are expanded into continuation lines, so a stack trace stays readable under a single timestamp instead of melting into the next record.
Detection is per-line and format order doesn’t matter: a JSON-driver record, a stderr:-prefixed line and a bare unbranded line can sit side by side in the same paste — as they often do when you copy from docker-compose logs across services with different logging drivers — and each is classified independently.