mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-28 23:20:09 +03: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 logging
|
||||||
import threading
|
import threading
|
||||||
import types
|
import types
|
||||||
|
import warnings
|
||||||
from typing import TYPE_CHECKING, Optional, Tuple, TypeVar, Union
|
from typing import TYPE_CHECKING, Optional, Tuple, TypeVar, Union
|
||||||
|
|
||||||
from typing_extensions import Literal
|
from typing_extensions import Literal
|
||||||
|
@ -287,6 +288,46 @@ class LoggingContext(object):
|
||||||
return str(self.request)
|
return str(self.request)
|
||||||
return "%s@%x" % (self.name, id(self))
|
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":
|
def __enter__(self) -> "LoggingContext":
|
||||||
"""Enters this logging context into thread local storage"""
|
"""Enters this logging context into thread local storage"""
|
||||||
old_context = set_current_context(self)
|
old_context = set_current_context(self)
|
||||||
|
|
Loading…
Reference in a new issue