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
| 313 | |
| 314 | |
| 315 | class 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 | |
| 355 | def _json_fallback_handler(obj: Any) -> Any: |
no outgoing calls
searching dependent graphs…