diff --git a/microbootstrap/instruments/logging_instrument.py b/microbootstrap/instruments/logging_instrument.py index 4335e39..9d047a6 100644 --- a/microbootstrap/instruments/logging_instrument.py +++ b/microbootstrap/instruments/logging_instrument.py @@ -82,7 +82,15 @@ def tracer_injection(_: WrappedLogger, __: str, event_dict: EventDict) -> EventD structlog.processors.format_exc_info, structlog.processors.UnicodeDecoder(), ] -DEFAULT_STRUCTLOG_FORMATTER_PROCESSOR: typing.Final = structlog.processors.JSONRenderer(serializer=orjson.dumps) + + +def _serialize_log_with_orjson_to_string(value: typing.Any, **kwargs: typing.Any) -> str: # noqa: ANN401 + return orjson.dumps(value, **kwargs).decode() + + +DEFAULT_STRUCTLOG_FORMATTER_PROCESSOR: typing.Final = structlog.processors.JSONRenderer( + serializer=_serialize_log_with_orjson_to_string +) class MemoryLoggerFactory(structlog.stdlib.LoggerFactory):