[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/5] scripts: Remove debug parameter from QEMUMonito
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PATCH 4/5] scripts: Remove debug parameter from QEMUMonitorProtocol |
Date: |
Wed, 27 Sep 2017 10:03:38 -0300 |
Use logging module for the QMP debug messages. The only scripts
that set debug=True are iotests.py and guestperf/engine.py, and
they already call logging.basicConfig() to set up logging.
Scripts that don't configure logging are safe as long as they
don't need debugging output, because debug messages don't trigger
the "No handlers could be found for logger" message from the
Python logging module.
Scripts that already configure logging but don't use debug=True
(e.g. scripts/vm/basevm.py) will get QMP debugging enabled for
free.
Cc: "Alex Bennée" <address@hidden>
Cc: Fam Zheng <address@hidden>
Cc: "Philippe Mathieu-Daudé" <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
scripts/qemu.py | 3 +--
scripts/qmp/qmp.py | 13 ++++++-------
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/scripts/qemu.py b/scripts/qemu.py
index c9a106fbce..f6d2e68627 100644
--- a/scripts/qemu.py
+++ b/scripts/qemu.py
@@ -177,8 +177,7 @@ class QEMUMachine(object):
def _pre_launch(self):
self._qmp = qmp.qmp.QEMUMonitorProtocol(self._monitor_address,
- server=True,
- debug=self._debug)
+ server=True)
def _post_launch(self):
self._qmp.accept()
diff --git a/scripts/qmp/qmp.py b/scripts/qmp/qmp.py
index ef12e8a1a0..be79d7aa80 100644
--- a/scripts/qmp/qmp.py
+++ b/scripts/qmp/qmp.py
@@ -12,6 +12,7 @@ import json
import errno
import socket
import sys
+import logging
class QMPError(Exception):
@@ -32,6 +33,8 @@ class QMPTimeoutError(QMPError):
class QEMUMonitorProtocol(object):
+ #: Logger object for debugging messages
+ logger = logging.getLogger('QMP')
#: Socket's error class
error = socket.error
#: Socket's timeout
@@ -51,7 +54,6 @@ class QEMUMonitorProtocol(object):
"""
self.__events = []
self.__address = address
- self._debug = debug
self.__sock = self.__get_sock()
self.__sockfile = None
if server:
@@ -83,8 +85,7 @@ class QEMUMonitorProtocol(object):
return
resp = json.loads(data)
if 'event' in resp:
- if self._debug:
- print >>sys.stderr, "QMP:<<< %s" % resp
+ self.logger.debug("<<< %s", resp)
self.__events.append(resp)
if not only_event:
continue
@@ -164,8 +165,7 @@ class QEMUMonitorProtocol(object):
@return QMP response as a Python dict or None if the connection has
been closed
"""
- if self._debug:
- print >>sys.stderr, "QMP:>>> %s" % qmp_cmd
+ self.logger.debug("<<< %s", qmp_cmd)
try:
self.__sock.sendall(json.dumps(qmp_cmd))
except socket.error as err:
@@ -173,8 +173,7 @@ class QEMUMonitorProtocol(object):
return
raise socket.error(err)
resp = self.__json_read()
- if self._debug:
- print >>sys.stderr, "QMP:<<< %s" % resp
+ self.logger.debug("<<< %s", resp)
return resp
def cmd(self, name, args=None, cmd_id=None):
--
2.13.5
- Re: [Qemu-devel] [PATCH 1/5] guestperf: Configure logging on all shell frontends, (continued)