# Elixir v1.18.5 lib/logger/lib/logger/formatter.ex: @default_pattern "\n$time $metadata[$level] $message\n",
# metadata printed as "key=value " for each key the program lists, such as Phoenix's request_id.
# With no metadata the layout rule reads the line; these are the lines whose metadata comes first.
# constructed 17:18:50.875 request_id=F-v0aW5yB3hB0AAAAB [info] GET /items ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "GET /items"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [info] Sent 200 in 3ms ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "Sent 200 in 3ms"}
# constructed 17:18:50.875 request_id=F-v0aW5yB3hB0AAAAB [debug] Processing with AcmeWeb.ItemController.index/2 ⇒ {"rule": "elixir", "level": "debug", "name": "", "message": "Processing with AcmeWeb.ItemController.index/2"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [notice] notice message ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "notice message"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [warning] warning message ⇒ {"rule": "elixir", "level": "warn", "name": "", "message": "warning message"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [error] error message ⇒ {"rule": "elixir", "level": "error", "name": "", "message": "error message"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [critical] critical message ⇒ {"rule": "elixir", "level": "critical", "name": "", "message": "critical message"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [alert] alert message ⇒ {"rule": "elixir", "level": "critical", "name": "", "message": "alert message"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [emergency] emergency message ⇒ {"rule": "elixir", "level": "critical", "name": "", "message": "emergency message"}
# constructed 17:18:50.877 module=Acme.Pump function=poll/1 line=42 [info] polled ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "polled"}
# constructed 17:18:50.877 pid=<0.123.0> [info] from a process ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "from a process"}
# constructed 17:18:50.877 mfa=Acme.Pump.poll/1 [error] ** (ArithmeticError) bad argument in arithmetic expression ⇒ {"rule": "elixir", "level": "error", "name": "", "message": "** (ArithmeticError) bad argument in arithmetic expression"}
# constructed 2026-10-21 17:18:51.207 request_id=F-v0aW5yB3hB0AAAAB [info] with the date ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "with the date"}
# constructed 17:18:50.877 user_id= [info] an empty value ⇒ {"rule": "elixir", "level": "info", "name": "", "message": "an empty value"}
# Elixir before 1.11 printed warn
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [warn] warn message ⇒ {"rule": "elixir", "level": "warn", "name": "", "message": "warn message"}
# constructed 17:18:50.877 request_id=F-v0aW5yB3hB0AAAAB [info] rail=13.65V ⇒ {"rule": "elixir+kv", "level": "info", "name": "", "message": "rail=13.65V", "values": [["rail", 13.65, "V"]]}
# captured: Elixir 1.18.5 with no metadata, which the layout rule reads, and a message's next line
17:18:50.875 [debug] debug message ⇒ {"rule": "layout", "level": "debug", "name": "", "message": "debug message"}
17:18:50.877 [notice] notice message ⇒ {"rule": "layout", "level": "info", "name": "", "message": "notice message"}
17:18:50.877 [emergency] emergency message ⇒ {"rule": "layout", "level": "critical", "name": "", "message": "emergency message"}
2026-10-21 17:18:51.207 [info] with meta formatter ⇒ {"rule": "layout", "level": "info", "name": "", "message": "with meta formatter"}
line message ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "line message"}
    logger_demo.exs:13: (file) ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "    logger_demo.exs:13: (file)"}
# lines that only look like it
# constructed 17:18:50.877 request_id=abc [verbose] not an Elixir level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "17:18:50.877 request_id=abc [verbose] not an Elixir level"}
# constructed 17:18:50.877 request_id=abc [INFO] upper case ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "17:18:50.877 request_id=abc [INFO] upper case"}
# constructed 17:18:50.877 Request=abc [info] a key Elixir would not print ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "17:18:50.877 Request=abc [info] a key Elixir would not print"}
# constructed 17:18:50.877 the [info] word in prose ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "17:18:50.877 the [info] word in prose"}
# constructed 17:18:50 request_id=abc [info] seconds only ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "17:18:50 request_id=abc [info] seconds only"}
