Skip to content
Snippets Groups Projects
Commit 09177654 authored by Eduardo Habkost's avatar Eduardo Habkost
Browse files

scripts: Remove debug parameter from QEMUMonitorProtocol


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" <alex.bennee@linaro.org>
Cc: Fam Zheng <famz@redhat.com>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Message-Id: <20171005172013.3098-3-ehabkost@redhat.com>
Reviewed-by: default avatarLukáš Doktor <ldoktor@redhat.com>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent 8af09b80
No related branches found
No related tags found
No related merge requests found
......@@ -177,8 +177,7 @@ def _base_args(self):
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()
......
......@@ -11,7 +11,7 @@
import json
import errno
import socket
import sys
import logging
class QMPError(Exception):
......@@ -32,12 +32,14 @@ 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
timeout = socket.timeout
def __init__(self, address, server=False, debug=False):
def __init__(self, address, server=False):
"""
Create a QEMUMonitorProtocol class.
......@@ -51,7 +53,6 @@ def __init__(self, address, server=False, debug=False):
"""
self.__events = []
self.__address = address
self._debug = debug
self.__sock = self.__get_sock()
self.__sockfile = None
if server:
......@@ -83,8 +84,7 @@ def __json_read(self, only_event=False):
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 +164,7 @@ def cmd_obj(self, qmp_cmd):
@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 +172,7 @@ def cmd_obj(self, qmp_cmd):
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):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment