# ros/rosconsole rosconsole.cpp: `[${severity}] [${time}]: ${message}`; SeverityToken padded INFO and
# WARN to five up to 1.14.3 and stopped in 1.14.4 (commit 8efe3487); the time is sec.nsec, then the
# sim time when valid (roscpp_core 0.7.3 time.cpp). rospy (ros_comm 1.17.4 roslogging.py) prints six
# decimals and no padding.
# constructed [ INFO] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "info", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [ WARN] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "warn", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [DEBUG] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "debug", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [ERROR] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "error", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [FATAL] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "critical", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [INFO] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "info", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [WARN] [1729519381.123456789]: node started ⇒ {"rule": "ros1", "level": "warn", "name": "", "message": "node started", "values": [], "prefixed": true, "device_ns": null}
# constructed [ INFO] [1729519381.123456789, 12.345000000]: simulated clock ⇒ {"rule": "ros1", "level": "info", "name": "", "message": "simulated clock", "values": [], "prefixed": true, "device_ns": null}
# constructed [INFO] [1729519381.123457]: rospy line ⇒ {"rule": "ros1", "level": "info", "name": "", "message": "rospy line", "values": [], "prefixed": true, "device_ns": null}
# constructed [WARN] [1729519381.123457]: rospy warning ⇒ {"rule": "ros1", "level": "warn", "name": "", "message": "rospy warning", "values": [], "prefixed": true, "device_ns": null}
# constructed [FATAL] [1729519381.123457]: rospy fatal ⇒ {"rule": "ros1", "level": "critical", "name": "", "message": "rospy fatal", "values": [], "prefixed": true, "device_ns": null}
# constructed [ INFO] [1729519381.123456789]:  ⇒ {"rule": "ros1", "level": "info", "name": "", "message": "", "values": [], "prefixed": true, "device_ns": null}
# constructed [ INFO] [1729519381.123456789]: rail=13.65V ⇒ {"rule": "ros1+kv", "level": "info", "name": "", "message": "rail=13.65V", "values": [["rail", 13.65, "V"]], "prefixed": true, "device_ns": null}
# constructed [ WARN] [1729519381.123456789]: ERROR is not the level ⇒ {"rule": "ros1", "level": "warn", "name": "", "message": "ERROR is not the level", "values": [], "prefixed": true, "device_ns": null}
# constructed [ INFO] [1729519381.123456789]: [nested] brackets ⇒ {"rule": "ros1", "level": "info", "name": "", "message": "[nested] brackets", "values": [], "prefixed": true, "device_ns": null}
# constructed [ INFO] [1729519381.123456789] [ros.my_pkg]: with a logger token ⇒ {"rule": "level-word", "level": "info", "name": "ros.my_pkg", "message": "with a logger token"}
# constructed [  INFO] [1729519381.123456789]: two spaces ⇒ {"rule": "level-word", "level": "info", "message": "two spaces"}
# constructed [ INFO] [abc]: stamp that is not a number ⇒ {"rule": "level-word", "level": "info", "name": "abc", "message": "stamp that is not a number"}
# constructed [ INFO] [1729519381.123456789] no colon ⇒ {"rule": "level-word", "level": "info", "message": "no colon"}
# constructed [ NOTICE] [1729519381.123456789]: unknown level ⇒ {"rule": "level-word", "level": "info", "message": "unknown level"}
# constructed [ info] [1729519381.123456789]: lower case ⇒ {"rule": "level-word", "level": "info", "message": "lower case"}
# constructed [INFO] [1729519381.123456789] [talker]: ros 2 ⇒ {"rule": "ros2", "level": "info", "name": "talker", "message": "ros 2"}
# constructed INFO [1729519381.123456789]: no brackets on the level ⇒ {"rule": "level-word", "level": "info", "message": "no brackets on the level"}
# constructed The [ INFO] [1729519381.123456789]: sentence ⇒ {"rule": "plain", "level": "info", "message": "The [ INFO] [1729519381.123456789]: sentence"}
# constructed [1729519381.123456789]: no level ⇒ {"rule": "plain", "level": "info", "message": "[1729519381.123456789]: no level"}
