MCPcopy Create free account
hub / github.com/hynek/structlog / JSONRenderer

Class JSONRenderer

src/structlog/processors.py:315–352  ·  view source on GitHub ↗

Render the ``event_dict`` using ``serializer(event_dict, **dumps_kw)``. Args: dumps_kw: Are passed unmodified to *serializer*. If *default* is passed, it will disable support for ``__structlog__``-based serialization. serializer: A :fun

Source from the content-addressed store, hash-verified

313
314
315class JSONRenderer:
316 """
317 Render the ``event_dict`` using ``serializer(event_dict, **dumps_kw)``.
318
319 Args:
320 dumps_kw:
321 Are passed unmodified to *serializer*. If *default* is passed, it
322 will disable support for ``__structlog__``-based serialization.
323
324 serializer:
325 A :func:`json.dumps`-compatible callable that will be used to
326 format the string. This can be used to use alternative JSON
327 encoders (default: :func:`json.dumps`).
328
329 .. seealso:: :doc:`performance` for examples.
330
331 .. versionadded:: 0.2.0 Support for ``__structlog__`` serialization method.
332 .. versionadded:: 15.4.0 *serializer* parameter.
333 .. versionadded:: 18.2.0
334 Serializer's *default* parameter can be overwritten now.
335 """
336
337 def __init__(
338 self,
339 serializer: Callable[..., str | bytes] = json.dumps,
340 **dumps_kw: Any,
341 ) -> None:
342 dumps_kw.setdefault("default", _json_fallback_handler)
343 self._dumps_kw = dumps_kw
344 self._dumps = serializer
345
346 def __call__(
347 self, logger: WrappedLogger, name: str, event_dict: EventDict
348 ) -> str | bytes:
349 """
350 The return type of this depends on the return type of self._dumps.
351 """
352 return self._dumps(event_dict, **self._dumps_kw)
353
354
355def _json_fallback_handler(obj: Any) -> Any:

Callers 11

test_add_extra_e2eMethod · 0.90
test_integrationMethod · 0.90
test_asyncMethod · 0.90
test_e2eMethod · 0.90
test_renders_jsonMethod · 0.90
test_serializerMethod · 0.90
test_custom_fallbackMethod · 0.90
test_simplejsonMethod · 0.90

Calls

no outgoing calls

Tested by 11

test_add_extra_e2eMethod · 0.72
test_integrationMethod · 0.72
test_asyncMethod · 0.72
test_e2eMethod · 0.72
test_renders_jsonMethod · 0.72
test_serializerMethod · 0.72
test_custom_fallbackMethod · 0.72
test_simplejsonMethod · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…