summary refs log tree commit diff
path: root/synapse/util
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/util')
-rw-r--r--synapse/util/logcontext.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/synapse/util/logcontext.py b/synapse/util/logcontext.py
index 301b30d58a..ffab03819d 100644
--- a/synapse/util/logcontext.py
+++ b/synapse/util/logcontext.py
@@ -79,7 +79,7 @@ class LoggingContext(object):
     sentinel = Sentinel()
 
     def __init__(self, name=None):
-        self.parent_context = None
+        self.parent_context = LoggingContext.current_context()
         self.name = name
         self.ru_stime = 0.
         self.ru_utime = 0.
@@ -116,7 +116,12 @@ class LoggingContext(object):
 
     def __enter__(self):
         """Enters this logging context into thread local storage"""
-        self.parent_context = self.set_current_context(self)
+        old_context = self.set_current_context(self)
+        if self.parent_context != old_context:
+            logger.warn(
+                "Expected parent context %r, found %r",
+                self.parent_context, old_context
+            )
         self.alive = True
         return self