From 24e716010bdfd0ac7b97d597ac08dbcb2eaf80c6 Mon Sep 17 00:00:00 2001 From: Colin Watson <cjwatson@debian.org> Date: Tue, 5 Nov 2024 11:16:31 +0000 Subject: [PATCH] Fix DeprecationWarning with patched python-json-logger Running tests with https://github.com/nhairs/python-json-logger 3.1.0 produces: DeprecationWarning: pythonjsonlogger.jsonlogger has been moved to pythonjsonlogger.json It's easy enough to be compatible with both. --- jupyter_events/logger.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jupyter_events/logger.py b/jupyter_events/logger.py index 8cc1fba..d002d0c 100644 --- a/jupyter_events/logger.py +++ b/jupyter_events/logger.py @@ -12,7 +12,10 @@ from datetime import datetime, timezone from jsonschema import ValidationError -from pythonjsonlogger import jsonlogger +try: + from pythonjsonlogger.json import JsonFormatter +except ImportError: + from pythonjsonlogger.jsonlogger import JsonFormatter from traitlets import Dict, Instance, Set, default from traitlets.config import Config, LoggingConfigurable @@ -171,7 +174,7 @@ def _handle_message_field(record: t.Any, **kwargs: t.Any) -> str: del record["message"] return json.dumps(record, **kwargs) - formatter = jsonlogger.JsonFormatter( # type:ignore [no-untyped-call] + formatter = JsonFormatter( # type:ignore [no-untyped-call] json_serializer=_handle_message_field, ) handler.setFormatter(formatter)