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)