Im toying with a logging decorator to use around my projects, and I came across this strange behavior. This is all running in a gateway message handler so I can test it all in gateway logs. The following script yields the subsequent logs:
def handleMessage(payload):
logger = log.get_logger('gateway_event.message')
whoami = "test_logger"
try:
sd = log.debug("simple debug message A")
si = log.info("simple info message B")
sw = log.warning("simple warning message C")
sw2 = log.warn("simple warn message D")
sd = log.debug(logger, whoami, "proper debug message E")
si = log.info(logger, whoami, "proper info message F")
sw = log.warning(logger, whoami, "proper warning message G")
sw2 = log.warn(logger, whoami, "proper warn message H")
log.info(logger, whoami, "s_d: {} I".format(sd))
log.info(logger, whoami, "s_i: {} J".format(si))
log.info(logger, whoami, "s_w: {} K".format(sw))
log.info(logger, whoami, "s_w: {} L".format(sw2))
raise Exception("???EXCEPTION??? M")
except Exception as e:
se = log.error(logger, whoami, e)
log.info(logger, whoami, "s_e: {} N".format(se))
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: ???EXCEPTION??? M Traceback (most recent call last): File "<MessageHandlerScript:base_leaf/test_logger >", line 20, in handleMessage Exception: ???EXCEPTION??? M |
|---|---|---|
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: s_e: test_logger:: ???EXCEPTION??? M Traceback (most recent call last): File "<MessageHandlerScript:base_leaf/test_logger >", line 20, in handleMessage Exception: ???EXCEPTION??? M N |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: proper warn message H |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: proper warning message G |
| log | 14Jan2026 16:47:05 | simple warn message D |
| log | 14Jan2026 16:47:05 | simple warning message C |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: s_w: test_logger:: proper warn message H L |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: s_w: test_logger:: proper warning message G K |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: s_i: test_logger:: proper info message F J |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: s_d: test_logger:: proper debug message E I |
| gateway_event.message | 14Jan2026 16:47:05 | test_logger:: proper info message F |
| log | 14Jan2026 16:47:05 | simple info message B |
| log | 14Jan2026 16:47:05 | simple debug message A |
| Project | 14Jan2026 16:46:45 | Restarting gateway scripts... |
Is this a known oddity? Anything I can do to improve it? I’m worried about debugging headaches later when things might come out in the wrong log-order relative to their order of operations.
Ignition 8.1.41, maybe already changed in new versions and just something to be aware of for now?