# structlog 26.1.0 src/structlog/dev.py ConsoleRenderer: the stamp, the level padded to 9 in brackets, the
# event padded to 30, the logger in brackets, then the key-values, joined by spaces. The event is the
# message, and the key-values give the values.
# captured: structlog 26.1.0 unconfigured, with stdlib's logger name, and with an ISO stamp
2026-10-21 17:15:52 [debug    ] debug message                  user=bob ⇒ {"rule": "structlog", "level": "debug", "name": "", "message": "debug message"}
2026-10-21 17:15:52 [info     ] info message                   count=3 user=bob ⇒ {"rule": "structlog+kv", "level": "info", "name": "", "message": "info message", "values": [["count", 3.0, null]]}
2026-10-21 17:15:52 [warning  ] warning message ⇒ {"rule": "structlog", "level": "warn", "name": "", "message": "warning message"}
2026-10-21 17:15:52 [error    ] error message ⇒ {"rule": "structlog", "level": "error", "name": "", "message": "error message"}
2026-10-21 17:15:52 [critical ] critical message ⇒ {"rule": "structlog", "level": "critical", "name": "", "message": "critical message"}
2026-10-21 17:15:52 [debug    ] debug message                  [app.db] user=bob ⇒ {"rule": "structlog", "level": "debug", "name": "app.db", "message": "debug message"}
2026-10-21 17:15:52 [info     ] info message                   [app.db] count=3 user=bob ⇒ {"rule": "structlog+kv", "level": "info", "name": "app.db", "message": "info message", "values": [["count", 3.0, null]]}
2026-10-21 17:15:52 [warning  ] warning message                [app.db] ⇒ {"rule": "structlog", "level": "warn", "name": "app.db", "message": "warning message"}
2026-10-21 17:15:52 [error    ] failed with exception          [app.db] ⇒ {"rule": "structlog", "level": "error", "name": "app.db", "message": "failed with exception"}
2026-10-22T00:15:52.635261Z [debug    ] debug message                  user=bob ⇒ {"rule": "structlog", "level": "debug", "name": "", "message": "debug message"}
2026-10-22T00:15:52.635520Z [warning  ] warning message ⇒ {"rule": "structlog", "level": "warn", "name": "", "message": "warning message"}
# constructed 2026-10-21 17:15:52 [info     ] poll                           rail=13.67V ⇒ {"rule": "structlog+kv", "level": "info", "name": "", "message": "poll", "values": [["rail", 13.67, "V"]]}
# constructed 2026-10-21 17:15:52 [info     ] rail=13.67V with no key-values ⇒ {"rule": "structlog+kv", "level": "info", "name": "", "message": "rail=13.67V with no key-values", "values": [["rail", 13.67, "V"]]}
# constructed 2026-10-21 17:15:52 [info     ] rail=13.67V                    user=bob ⇒ {"rule": "structlog", "level": "info", "name": "", "message": "rail=13.67V", "values": []}
# an event of 30 characters or more is not padded, so nothing parts it from its key-values
# constructed 2026-10-21 17:15:52 [info     ] connection pool exhausted after retries attempt=3 ⇒ {"rule": "structlog+kv", "level": "info", "name": "", "message": "connection pool exhausted after retries attempt=3"}
# constructed 2026-10-21 17:15:52 [info     ] a twenty-nine character event  [app.db] ⇒ {"rule": "structlog", "level": "info", "name": "app.db", "message": "a twenty-nine character event"}
# constructed 2026-10-21T17:15:52.635261 [warning  ] local ISO stamp ⇒ {"rule": "structlog", "level": "warn", "name": "", "message": "local ISO stamp"}
# constructed [info     ] no TimeStamper                 user=bob ⇒ {"rule": "structlog", "level": "info", "name": "", "message": "no TimeStamper"}
# other layouts with a bracketed level, the traceback that follows, and lines that only look like it
ZeroDivisionError: division by zero ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "ZeroDivisionError: division by zero"}
# constructed 2026-10-21 17:15:52 [info] not padded ⇒ {"rule": "layout", "level": "info", "message": "not padded"}
# constructed 2026-10-21 17:15:52 [INFO     ] upper case ⇒ {"rule": "layout", "level": "info", "message": "upper case"}
# constructed 2026-10-21 17:15:52 [info    ] padded to 8 ⇒ {"rule": "layout", "level": "info", "message": "padded to 8"}
# constructed 2026-10-21 17:15:52 [notset   ] no level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "2026-10-21 17:15:52 [notset   ] no level"}
# constructed 2026-10-21 17:15:52 [trace    ] not a structlog level ⇒ {"rule": "layout", "level": "trace", "message": "not a structlog level"}
# constructed 2026-10-21 17:15:52 [ info    ] leading space ⇒ {"rule": "layout", "level": "info", "message": "leading space"}
# constructed 2026-10-21 17:15:52 [informed ] not a level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "2026-10-21 17:15:52 [informed ] not a level"}
# constructed the [info     ] tag ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "the [info     ] tag"}
# constructed 2026-10-21 17:15:52 [main] [info     ] after a field ⇒ {"rule": "layout", "level": "info", "message": "after a field"}
