summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2019-05-29 19:27:50 +0100
committerGitHub <noreply@github.com>2019-05-29 19:27:50 +0100
commit3dcf2feba8ee38c43c63c0f321fd379f843a5929 (patch)
tree4476d58f53bb284e6b87d8a01c8adde294a40321
parentMerge pull request #5283 from aaronraimist/captcha-docs (diff)
downloadsynapse-3dcf2feba8ee38c43c63c0f321fd379f843a5929.tar.xz
Improve logging for logcontext leaks. (#5288)
-rw-r--r--changelog.d/5288.misc1
-rw-r--r--synapse/util/logcontext.py22
2 files changed, 14 insertions, 9 deletions
diff --git a/changelog.d/5288.misc b/changelog.d/5288.misc
new file mode 100644

index 0000000000..fbf049ba6a --- /dev/null +++ b/changelog.d/5288.misc
@@ -0,0 +1 @@ +Improve logging for logcontext leaks. diff --git a/synapse/util/logcontext.py b/synapse/util/logcontext.py
index 311b49e18a..fe412355d8 100644 --- a/synapse/util/logcontext.py +++ b/synapse/util/logcontext.py
@@ -226,6 +226,8 @@ class LoggingContext(object): self.request = request def __str__(self): + if self.request: + return str(self.request) return "%s@%x" % (self.name, id(self)) @classmethod @@ -274,12 +276,10 @@ class LoggingContext(object): current = self.set_current_context(self.previous_context) if current is not self: if current is self.sentinel: - logger.warn("Expected logging context %s has been lost", self) + logger.warning("Expected logging context %s was lost", self) else: - logger.warn( - "Current logging context %s is not expected context %s", - current, - self + logger.warning( + "Expected logging context %s but found %s", self, current ) self.previous_context = None self.alive = False @@ -433,10 +433,14 @@ class PreserveLoggingContext(object): context = LoggingContext.set_current_context(self.current_context) if context != self.new_context: - logger.warn( - "Unexpected logging context: %s is not %s", - context, self.new_context, - ) + if context is LoggingContext.sentinel: + logger.warning("Expected logging context %s was lost", self.new_context) + else: + logger.warning( + "Expected logging context %s but found %s", + self.new_context, + context, + ) if self.current_context is not LoggingContext.sentinel: if not self.current_context.alive: