summary refs log tree commit diff
path: root/synapse/logging
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/logging')
-rw-r--r--synapse/logging/context.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/synapse/logging/context.py b/synapse/logging/context.py
index ec3814f3ae..4b8d6037af 100644
--- a/synapse/logging/context.py
+++ b/synapse/logging/context.py
@@ -665,14 +665,13 @@ class PreserveLoggingContext:
                 )
 
 
-_CURRENT_CONTEXT_VAR: ContextVar[LoggingContextOrSentinel] = ContextVar(
-    "current_context", default=SENTINEL_CONTEXT
-)
+_thread_local = threading.local()
+_thread_local.current_context = SENTINEL_CONTEXT
 
 
 def current_context() -> LoggingContextOrSentinel:
     """Get the current logging context from thread local storage"""
-    return _CURRENT_CONTEXT_VAR.get()
+    return getattr(_thread_local, "current_context", SENTINEL_CONTEXT)
 
 
 def set_current_context(context: LoggingContextOrSentinel) -> LoggingContextOrSentinel:
@@ -693,7 +692,7 @@ def set_current_context(context: LoggingContextOrSentinel) -> LoggingContextOrSe
     if current is not context:
         rusage = get_thread_resource_usage()
         current.stop(rusage)
-        _CURRENT_CONTEXT_VAR.set(context)
+        _thread_local.current_context = context
         context.start(rusage)
 
     return current