[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4] python/qemu/qmp.py: QMP debug with VM label
From: |
John Snow |
Subject: |
Re: [PATCH v4] python/qemu/qmp.py: QMP debug with VM label |
Date: |
Mon, 16 Mar 2020 13:11:24 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 3/16/20 6:32 AM, Oksana Vohchana wrote:
> QEMUMachine writes some messages to the default logger.
> But it sometimes hard to read the output if we have requests to
> more than one VM.
> This patch adds a label to the logger in the debug mode.
>
> Signed-off-by: Oksana Vohchana <address@hidden>
> ---
> v2:
> - Instead of shown the label in the message it provides the label
> only in the debug logger information.
> v3:
> - Fixes coding style problems.
> v4:
> - Use a suffix method to get a children's logger process from the parent.
> ---
> python/qemu/machine.py | 3 ++-
> python/qemu/qmp.py | 5 ++++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/python/qemu/machine.py b/python/qemu/machine.py
> index 183d8f3d38..f53abfa492 100644
> --- a/python/qemu/machine.py
> +++ b/python/qemu/machine.py
> @@ -270,7 +270,8 @@ class QEMUMachine(object):
> self._vm_monitor = os.path.join(self._sock_dir,
> self._name + "-monitor.sock")
> self._remove_files.append(self._vm_monitor)
> - self._qmp = qmp.QEMUMonitorProtocol(self._vm_monitor,
> server=True)
> + self._qmp = qmp.QEMUMonitorProtocol(self._vm_monitor,
> server=True,
> + nickname=self._name)
>
> def _post_launch(self):
> if self._qmp:
> diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py
> index f40586eedd..d6c9b2f4b1 100644
> --- a/python/qemu/qmp.py
> +++ b/python/qemu/qmp.py
> @@ -46,7 +46,7 @@ class QEMUMonitorProtocol:
> #: Logger object for debugging messages
> logger = logging.getLogger('QMP')
>
> - def __init__(self, address, server=False):
> + def __init__(self, address, server=False, nickname=None):
> """
> Create a QEMUMonitorProtocol class.
>
> @@ -62,6 +62,9 @@ class QEMUMonitorProtocol:
> self.__address = address
> self.__sock = self.__get_sock()
> self.__sockfile = None
> + self._nickname = nickname
> + if self._nickname:
> + self.logger = logging.getLogger('QMP').getChild(self._nickname)
> if server:
> self.__sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
> self.__sock.bind(self.__address)
>
Looks right to me. Thank you for taking the time to get this cleaned up.
Reviewed-by: John Snow <address@hidden>