# constructed ERROR: invalid argument ⇒ {"rule": "level-word", "level": "error", "name": "", "device_ns": null, "message": "invalid argument", "prefixed": false}
# constructed ERR: no response ⇒ {"rule": "level-word", "level": "error", "name": "", "message": "no response"}
# constructed FATAL: stack overflow ⇒ {"rule": "level-word", "level": "critical", "name": "", "message": "stack overflow"}
# constructed CRITICAL brownout ⇒ {"rule": "level-word", "level": "critical", "name": "", "message": "brownout"}
# constructed WARNING: low battery ⇒ {"rule": "level-word", "level": "warn", "name": "", "message": "low battery"}
# constructed DEBUG state=3 ⇒ {"rule": "level-word+kv", "level": "debug", "name": "", "message": "state=3", "values": [["state", 3, null]]}
# constructed TRACE enter isr ⇒ {"rule": "level-word", "level": "trace", "name": "", "message": "enter isr"}
# constructed Error: invalid argument ⇒ {"rule": "level-word", "level": "error", "name": "", "message": "invalid argument"}
# constructed Warn: retrying ⇒ {"rule": "level-word", "level": "warn", "name": "", "message": "retrying"}
# constructed Fatal: halted ⇒ {"rule": "level-word", "level": "critical", "name": "", "message": "halted"}
# constructed Info:ready ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "ready"}
# constructed Debug: tick ⇒ {"rule": "level-word", "level": "debug", "name": "", "message": "tick"}
# constructed [error] bus fault ⇒ {"rule": "level-word", "level": "error", "name": "", "message": "bus fault"}
# constructed [Warning]low voltage ⇒ {"rule": "level-word", "level": "warn", "name": "", "message": "low voltage"}
# constructed [ERR] timeout ⇒ {"rule": "level-word", "level": "error", "name": "", "message": "timeout"}
# constructed [fatal] panic ⇒ {"rule": "level-word", "level": "critical", "name": "", "message": "panic"}
# constructed [Trace] step ⇒ {"rule": "level-word", "level": "trace", "name": "", "message": "step"}
# esp-println logger.rs: "{level} ({ts}) - {msg}" and "{level} - {msg}"
# constructed INFO - booted ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "booted"}
# constructed WARN (1234) - slow ⇒ {"rule": "esp-println", "level": "warn", "device_ns": 1234000000, "message": "slow"}
# mbed-trace mbed_trace.c: "[INFO][grp ]: msg"
# constructed [INFO][main]: started ⇒ {"rule": "level-word", "level": "info", "name": "main", "message": "started"}
# constructed [WARN][main]: low battery ⇒ {"rule": "level-word", "level": "warn", "name": "main", "message": "low battery", "prefixed": false}
# constructed [ERR ][main]: failed ⇒ {"rule": "level-word", "level": "error", "name": "main", "message": "failed"}
# constructed [DBG ][main]: detail ⇒ {"rule": "level-word", "level": "debug", "name": "main", "message": "detail"}
# constructed [ WARN] padded on the left ⇒ {"rule": "level-word", "level": "warn", "name": "", "message": "padded on the left"}
# constructed [WRN] low battery ⇒ {"rule": "level-word", "level": "warn", "name": "", "message": "low battery"}
# constructed [INF] up ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "up"}
# constructed [CRIT] brownout ⇒ {"rule": "level-word", "level": "critical", "name": "", "message": "brownout"}
# constructed [crit] brownout ⇒ {"rule": "level-word", "level": "critical", "name": "", "message": "brownout"}

Error count: 5 ⇒ {"rule": "plain", "level": "info", "message": "Error count: 5", "prefixed": false, "values": []}
# constructed error: lower case ⇒ {"rule": "plain", "level": "info", "message": "error: lower case"}
# constructed Errors: 3 ⇒ {"rule": "plain", "level": "info", "message": "Errors: 3"}
# constructed INFORMATION: x ⇒ {"rule": "plain", "level": "info", "message": "INFORMATION: x"}
# constructed ERRORS x ⇒ {"rule": "plain", "level": "info", "message": "ERRORS x"}
# constructed Warning low voltage ⇒ {"rule": "plain", "level": "info", "message": "Warning low voltage"}
# constructed [information] x ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "x"}
# constructed ERROR ⇒ {"rule": "plain", "level": "info", "message": "ERROR"}
# constructed [ERR ⇒ {"rule": "plain", "level": "info", "message": "[ERR"}
# constructed [ERRO ] x ⇒ {"rule": "level-word", "level": "error", "name": "", "message": "x"}
# constructed [_ERR] x ⇒ {"rule": "plain", "level": "info", "message": "[_ERR] x"}
# constructed [ınfo] x ⇒ {"rule": "plain", "level": "info", "message": "[ınfo] x"}
# constructed [İnfo] x ⇒ {"rule": "plain", "level": "info", "message": "[İnfo] x"}
# constructed [crıtıcal] x ⇒ {"rule": "plain", "level": "info", "message": "[crıtıcal] x"}
# micropython py/obj.c traceback
Traceback (most recent call last): ⇒ {"rule": "plain", "level": "info", "message": "Traceback (most recent call last):"}
ZeroDivisionError: division by zero ⇒ {"rule": "plain", "level": "info", "message": "ZeroDivisionError: division by zero"}
# constructed  ERROR: leading space ⇒ {"rule": "plain", "level": "info", "message": " ERROR: leading space"}
# constructed CRIT: no colon form for the short words ⇒ {"rule": "plain", "level": "info", "message": "CRIT: no colon form for the short words"}
# constructed [CRITICALLY] x ⇒ {"rule": "plain", "level": "info", "message": "[CRITICALLY] x"}
# a label and its value after a bracketed level is the message, not a logger
---
# constructed [INFO] battery: 87% ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "battery: 87%"}
# constructed [INFO] battery: 86% ⇒ {"rule": "level-word+label-value", "level": "info", "name": "", "message": "battery: 86%", "values": [["battery", 86, "%"]]}
---
# a level letter, as zephyr v4.4.2 include/zephyr/logging/log_core.h Z_LOG_TO_PRINTK: CONFIG_LOG_MODE_MINIMAL prints
# `"%c: " fmt`, the letter from z_log_minimal_level_to_char(); MCUboot logs the same way. A number after
# the letter is a value, not a message.
I: Starting bootloader ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "Starting bootloader", "prefixed": false, "device_ns": null}
I: Primary image: magic=good, swap_type=0x2, copy_done=0x1, image_ok=0x1 ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "Primary image: magic=good, swap_type=0x2, copy_done=0x1, image_ok=0x1"}
I: Bootloader chainload address offset: 0xc000 ⇒ {"rule": "level-word", "level": "info", "name": "", "message": "Bootloader chainload address offset: 0xc000"}
W: Cannot upgrade: slots have non-compatible sectors ⇒ {"rule": "level-word", "level": "warn", "name": "", "message": "Cannot upgrade: slots have non-compatible sectors"}
# constructed E: Failed to open device (-19) ⇒ {"rule": "level-word", "level": "error", "name": "", "message": "Failed to open device (-19)"}
# constructed D: context_boot_go ⇒ {"rule": "level-word", "level": "debug", "name": "", "message": "context_boot_go"}
# constructed E: 5 ⇒ {"rule": "plain", "level": "info", "message": "E: 5"}
# constructed I: 2.5A ⇒ {"rule": "plain", "level": "info", "message": "I: 2.5A"}
# constructed W: -3 dB ⇒ {"rule": "plain", "level": "info", "message": "W: -3 dB"}
# constructed V: verbose is no minimal level ⇒ {"rule": "plain", "level": "info", "message": "V: verbose is no minimal level"}
# constructed e: lower case ⇒ {"rule": "plain", "level": "info", "message": "e: lower case"}
# constructed E:no space ⇒ {"rule": "plain", "level": "info", "message": "E:no space"}
# constructed E:  ⇒ {"rule": "plain", "level": "info", "message": "E: "}
