mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-15 17:51:10 +00:00
Add backwards compatibility codepath to LoggingContext. (#7408)
This commit is contained in:
parent
7941a70fa8
commit
fe69fb6263
2 changed files with 42 additions and 0 deletions
1
changelog.d/7408.misc
Normal file
1
changelog.d/7408.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some LoggingContext code.
|
|
@ -27,6 +27,7 @@ import inspect
|
|||
import logging
|
||||
import threading
|
||||
import types
|
||||
import warnings
|
||||
from typing import TYPE_CHECKING, Optional, Tuple, TypeVar, Union
|
||||
|
||||
from typing_extensions import Literal
|
||||
|
@ -287,6 +288,46 @@ class LoggingContext(object):
|
|||
return str(self.request)
|
||||
return "%s@%x" % (self.name, id(self))
|
||||
|
||||
@classmethod
|
||||
def current_context(cls) -> LoggingContextOrSentinel:
|
||||
"""Get the current logging context from thread local storage
|
||||
|
||||
This exists for backwards compatibility. ``current_context()`` should be
|
||||
called directly.
|
||||
|
||||
Returns:
|
||||
LoggingContext: the current logging context
|
||||
"""
|
||||
warnings.warn(
|
||||
"synapse.logging.context.LoggingContext.current_context() is deprecated "
|
||||
"in favor of synapse.logging.context.current_context().",
|
||||
DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
return current_context()
|
||||
|
||||
@classmethod
|
||||
def set_current_context(
|
||||
cls, context: LoggingContextOrSentinel
|
||||
) -> LoggingContextOrSentinel:
|
||||
"""Set the current logging context in thread local storage
|
||||
|
||||
This exists for backwards compatibility. ``set_current_context()`` should be
|
||||
called directly.
|
||||
|
||||
Args:
|
||||
context(LoggingContext): The context to activate.
|
||||
Returns:
|
||||
The context that was previously active
|
||||
"""
|
||||
warnings.warn(
|
||||
"synapse.logging.context.LoggingContext.set_current_context() is deprecated "
|
||||
"in favor of synapse.logging.context.set_current_context().",
|
||||
DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
return set_current_context(context)
|
||||
|
||||
def __enter__(self) -> "LoggingContext":
|
||||
"""Enters this logging context into thread local storage"""
|
||||
old_context = set_current_context(self)
|
||||
|
|
Loading…
Reference in a new issue