diff --git a/microbootstrap/instruments/logging_instrument.py b/microbootstrap/instruments/logging_instrument.py index f27fe2f..4335e39 100644 --- a/microbootstrap/instruments/logging_instrument.py +++ b/microbootstrap/instruments/logging_instrument.py @@ -5,6 +5,7 @@ import typing import urllib.parse +import orjson import pydantic import structlog import typing_extensions @@ -81,7 +82,7 @@ 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() +DEFAULT_STRUCTLOG_FORMATTER_PROCESSOR: typing.Final = structlog.processors.JSONRenderer(serializer=orjson.dumps) class MemoryLoggerFactory(structlog.stdlib.LoggerFactory): diff --git a/pyproject.toml b/pyproject.toml index 57ca5e0..33300f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,7 @@ dependencies = [ "opentelemetry-instrumentation-psycopg>=0.54b1", "opentelemetry-instrumentation-sqlalchemy>=0.54b1", "opentelemetry-instrumentation-asyncio>=0.54b1", + "orjson>=3.10.18", ] dynamic = ["version"] authors = [{ name = "community-of-python" }]