This is an automated email from the ASF dual-hosted git repository.
sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
The following commit(s) were added to refs/heads/main by this push:
new 314bb8e Prevent events from being double encoded in the audit logs
314bb8e is described below
commit 314bb8e05cc048865444a97ba9187e49d60b0fa8
Author: Sean B. Palmer <[email protected]>
AuthorDate: Fri Jan 23 19:50:33 2026 +0000
Prevent events from being double encoded in the audit logs
---
atr/loggers.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/atr/loggers.py b/atr/loggers.py
index 55b2b50..6366d73 100644
--- a/atr/loggers.py
+++ b/atr/loggers.py
@@ -17,6 +17,7 @@
from __future__ import annotations
+import json
import logging
import logging.handlers
import queue
@@ -47,6 +48,7 @@ def create_json_formatter(
return structlog.stdlib.ProcessorFormatter(
processors=[
structlog.stdlib.ProcessorFormatter.remove_processors_meta,
+ _parse_json_event,
structlog.processors.JSONRenderer(),
],
foreign_pre_chain=list(shared_processors),
@@ -98,3 +100,19 @@ def shared_processors() -> list[structlog.types.Processor]:
structlog.processors.StackInfoRenderer(),
structlog.processors.UnicodeDecoder(),
]
+
+
+def _parse_json_event(
+ _logger: structlog.types.WrappedLogger,
+ _method_name: str,
+ event_dict: structlog.types.EventDict,
+) -> structlog.types.EventDict:
+ if event_dict.get("logger") != "atr.storage.audit":
+ return event_dict
+ event = event_dict.get("event")
+ if isinstance(event, str) and event.startswith("{"):
+ try:
+ event_dict["event"] = json.loads(event)
+ except json.JSONDecodeError:
+ pass
+ return event_dict
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]