Message ID | 20200316103203.10046-1-ovoshcha@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v4] python/qemu/qmp.py: QMP debug with VM label | expand |
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 <ovoshcha@redhat.com> > --- > 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 <jsnow@redhat.com>
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 <wainersm@redhat.com> Thanks! > This patch adds a label to the logger in the debug mode. > > Signed-off-by: Oksana Vohchana <ovoshcha@redhat.com> > --- > 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)
On Mon, Mar 16, 2020 at 12:32:03PM +0200, 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 <ovoshcha@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Queueing it on my python-next branch. Thanks!
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)
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 <ovoshcha@redhat.com> --- 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(-)