qemu-devel
[Top][All Lists]
Advanced

[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: Wainer dos Santos Moschetta
Subject: Re: [PATCH v4] python/qemu/qmp.py: QMP debug with VM label
Date: Tue, 17 Mar 2020 17:15:01 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0


On 3/16/20 7: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.

For example,  tests/acceptance/migration.py uses two VMs and reading the qmp outputs on avocado's log is very confusing. Certainly this change will help to improve that situation, just need to adapt tests/acceptance/avocado_qemu/__init__.py to create the QEMUMachine object with a name.

Anyway, this patch looks good to me so:

Reviewed-by: Wainer dos Santos Moschetta <address@hidden>

Thanks!

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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]