diff options
author | Andrew Morgan <andrew@amorgan.xyz> | 2021-04-22 11:23:56 +0100 |
---|---|---|
committer | Andrew Morgan <andrew@amorgan.xyz> | 2021-04-22 11:23:56 +0100 |
commit | 31863242603da2125212fc010146017c0a8a4882 (patch) | |
tree | b7dad99ae7676a778fe04fd4a72fd3f116b1837e /synapse/logging | |
parent | Merge branch 'master' of github.com:matrix-org/synapse into develop (diff) | |
parent | Merge tag 'v1.32.2' (diff) | |
download | synapse-31863242603da2125212fc010146017c0a8a4882.tar.xz |
Merge branch 'master' into develop
Diffstat (limited to 'synapse/logging')
-rw-r--r-- | synapse/logging/context.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/synapse/logging/context.py b/synapse/logging/context.py index dbd7d3a33a..7fc11a9ac2 100644 --- a/synapse/logging/context.py +++ b/synapse/logging/context.py @@ -258,7 +258,8 @@ class LoggingContext: child to the parent Args: - name (str): Name for the context for debugging. + name: Name for the context for logging. If this is omitted, it is + inherited from the parent context. parent_context (LoggingContext|None): The parent of the new context """ @@ -277,12 +278,11 @@ class LoggingContext: def __init__( self, - name: str, + name: Optional[str] = None, parent_context: "Optional[LoggingContext]" = None, request: Optional[ContextRequest] = None, ) -> None: self.previous_context = current_context() - self.name = name # track the resources used by this context so far self._resource_usage = ContextResourceUsage() @@ -314,6 +314,15 @@ class LoggingContext: # the request param overrides the request from the parent context self.request = request + # if we don't have a `name`, but do have a parent context, use its name. + if self.parent_context and name is None: + name = str(self.parent_context) + if name is None: + raise ValueError( + "LoggingContext must be given either a name or a parent context" + ) + self.name = name + def __str__(self) -> str: return self.name |