# Erlang/OTP OTP-28.5 lib/kernel/src/logger_formatter.erl maybe_add_legacy_header: the default handler's header
# The header carries the level; the message follows on the lines after it.
# captured: OTP 28 with the default handler
=DEBUG REPORT==== 21-Oct-2026::17:19:11.654570 === ⇒ {"rule": "erlang-report", "level": "debug", "leveled": true, "name": "", "message": ""}
=INFO REPORT==== 21-Oct-2026::17:19:11.664922 === ⇒ {"rule": "erlang-report", "level": "info", "leveled": true, "name": "", "message": ""}
=NOTICE REPORT==== 21-Oct-2026::17:19:11.664955 === ⇒ {"rule": "erlang-report", "level": "info", "leveled": true, "name": "", "message": ""}
=WARNING REPORT==== 21-Oct-2026::17:19:11.664973 === ⇒ {"rule": "erlang-report", "level": "warn", "leveled": true, "name": "", "message": ""}
=ERROR REPORT==== 21-Oct-2026::17:19:11.664999 === ⇒ {"rule": "erlang-report", "level": "error", "leveled": true, "name": "", "message": ""}
=CRITICAL REPORT==== 21-Oct-2026::17:19:11.665033 === ⇒ {"rule": "erlang-report", "level": "critical", "leveled": true, "name": "", "message": ""}
=ALERT REPORT==== 21-Oct-2026::17:19:11.665052 === ⇒ {"rule": "erlang-report", "level": "critical", "leveled": true, "name": "", "message": ""}
=EMERGENCY REPORT==== 21-Oct-2026::17:19:11.665070 === ⇒ {"rule": "erlang-report", "level": "critical", "leveled": true, "name": "", "message": ""}
=INFO REPORT==== 21-Oct-2026::17:19:11.665107 === ⇒ {"rule": "erlang-report", "level": "info", "name": "", "message": ""}
=ERROR REPORT==== 21-Oct-2026::17:19:11.670092 === ⇒ {"rule": "erlang-report", "level": "error", "name": "", "message": ""}
=INFO REPORT==== 21-Oct-2026::17:19:11.670176 === ⇒ {"rule": "erlang-report", "level": "info", "name": "", "message": ""}
# a one-digit day, which ~w does not pad, and a UTC clock, which adds "UTC "
# constructed =ERROR REPORT==== 7-May-2026::08:30:19.453447 === ⇒ {"rule": "erlang-report", "level": "error", "name": "", "message": ""}
# constructed =WARNING REPORT==== 1-Jan-2026::00:00:00.000000 UTC === ⇒ {"rule": "erlang-report", "level": "warn", "name": "", "message": ""}
# constructed =INFO REPORT==== 31-Dec-2026::23:59:59.999999 UTC === ⇒ {"rule": "erlang-report", "level": "info", "name": "", "message": ""}
# constructed =DEBUG REPORT==== 15-Jun-2026::12:00:00.500000 === ⇒ {"rule": "erlang-report", "level": "debug", "name": "", "message": ""}
# the lines under a header, the single-line template, and headers this formatter does not print
debug message ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "debug message"}
    n: 1 ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "    n: 1"}
two~nline message ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "two~nline message"}
2026-10-21T17:19:11.670407-07:00 info: single line default template ⇒ {"rule": "layout", "level": "info", "name": "", "message": "single line default template"}
2026-10-21T17:19:11.671674-07:00 error: error single ⇒ {"rule": "layout", "level": "error", "name": "", "message": "error single"}
# constructed =CRASH REPORT==== 21-Oct-2026::17:19:11.654570 === ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "=CRASH REPORT==== 21-Oct-2026::17:19:11.654570 ==="}
# constructed =TRACE REPORT==== 21-Oct-2026::17:19:11.654570 === ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "=TRACE REPORT==== 21-Oct-2026::17:19:11.654570 ==="}
# constructed =INFO REPORT==== 21-Oct-2026::17:19:11 === ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "=INFO REPORT==== 21-Oct-2026::17:19:11 ==="}
# constructed =INFO REPORT=== 21-Oct-2026::17:19:11.654570 === ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "=INFO REPORT=== 21-Oct-2026::17:19:11.654570 ==="}
# constructed =INFO REPORT==== 21-Oct-2026::17:19:11.654570 === trailing ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "=INFO REPORT==== 21-Oct-2026::17:19:11.654570 === trailing"}
# constructed INFO REPORT==== 21-Oct-2026::17:19:11.654570 === ⇒ {"rule": "level-word", "level": "info", "message": "REPORT==== 21-Oct-2026::17:19:11.654570 ==="}
