mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2025-10-30 07:57:14 +08:00
python: backport 'protocol: adjust logging name when changing client name'
The client name is mutable, so the logging name should also change to reflect it when it changes. Signed-off-by: John Snow <jsnow@redhat.com> cherry picked from commit python-qemu-qmp@e10b73c633ce138ba30bc8beccd2ab31989eaf3d Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
@ -217,10 +217,8 @@ class AsyncProtocol(Generic[T]):
|
||||
# -------------------------
|
||||
|
||||
def __init__(self, name: Optional[str] = None) -> None:
|
||||
#: The nickname for this connection, if any.
|
||||
self.name: Optional[str] = name
|
||||
if self.name is not None:
|
||||
self.logger = self.logger.getChild(self.name)
|
||||
self._name: Optional[str]
|
||||
self.name = name
|
||||
|
||||
# stream I/O
|
||||
self._reader: Optional[StreamReader] = None
|
||||
@ -257,6 +255,24 @@ class AsyncProtocol(Generic[T]):
|
||||
tokens.append(f"runstate={self.runstate.name}")
|
||||
return f"<{cls_name} {' '.join(tokens)}>"
|
||||
|
||||
@property
|
||||
def name(self) -> Optional[str]:
|
||||
"""
|
||||
The nickname for this connection, if any.
|
||||
|
||||
This name is used for differentiating instances in debug output.
|
||||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, name: Optional[str]) -> None:
|
||||
logger = logging.getLogger(__name__)
|
||||
if name:
|
||||
self.logger = logger.getChild(name)
|
||||
else:
|
||||
self.logger = logger
|
||||
self._name = name
|
||||
|
||||
@property # @upper_half
|
||||
def runstate(self) -> Runstate:
|
||||
"""The current `Runstate` of the connection."""
|
||||
|
||||
Reference in New Issue
Block a user