Fixing duplicate debug log messages
Fixed a bug where multiple loggers would be created if the LeftHand client was initialized multiple times. Debug messages would then start repeating and making debugging difficult. This fix is similar to the fix in the 3PAR client. Change-Id: Ia1af8e608f5d703931b87223e46dc398cd715484
This commit is contained in:
parent
cf83528ae9
commit
b71801ca0a
|
@ -31,3 +31,5 @@ Changes in Version 1.0.3
|
|||
correct size.
|
||||
* Added support for PEP8 checks with tox.
|
||||
* Fixed various typos in the documentation.
|
||||
* Fix duplicate debug log message issue that can occur when multiple client
|
||||
objects are created.
|
||||
|
|
|
@ -56,6 +56,8 @@ class HTTPJSONRESTClient(httplib2.Http):
|
|||
SESSION_COOKIE_NAME = 'Authorization'
|
||||
#API_VERSION = 'X-API-Version'
|
||||
#CHRP_VERSION = 'X_HP-CHRP-Client-Version'
|
||||
http_log_debug = False
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
def __init__(self, api_url, insecure=False, http_log_debug=False):
|
||||
super(HTTPJSONRESTClient,
|
||||
|
@ -72,8 +74,6 @@ class HTTPJSONRESTClient(httplib2.Http):
|
|||
self.force_exception_to_status_code = True
|
||||
#self.disable_ssl_certificate_validation = insecure
|
||||
|
||||
self._logger = logging.getLogger(__name__)
|
||||
|
||||
def set_url(self, api_url):
|
||||
#should be http://<Server:Port>/lhos
|
||||
self.api_url = api_url.rstrip('/')
|
||||
|
@ -86,11 +86,11 @@ class HTTPJSONRESTClient(httplib2.Http):
|
|||
:type flag: bool
|
||||
|
||||
"""
|
||||
self.http_log_debug = flag
|
||||
if self.http_log_debug:
|
||||
if not HTTPJSONRESTClient.http_log_debug and flag:
|
||||
ch = logging.StreamHandler()
|
||||
self._logger.setLevel(logging.DEBUG)
|
||||
self._logger.addHandler(ch)
|
||||
HTTPJSONRESTClient._logger.setLevel(logging.DEBUG)
|
||||
HTTPJSONRESTClient._logger.addHandler(ch)
|
||||
HTTPJSONRESTClient.http_log_debug = True
|
||||
|
||||
def authenticate(self, user, password, optional=None):
|
||||
"""
|
||||
|
@ -159,15 +159,16 @@ class HTTPJSONRESTClient(httplib2.Http):
|
|||
header = ' -H "%s: %s"' % (element, kwargs['headers'][element])
|
||||
string_parts.append(header)
|
||||
|
||||
self._logger.debug("\nREQ: %s\n" % "".join(string_parts))
|
||||
HTTPJSONRESTClient._logger.debug("\nREQ: %s\n" % "".join(string_parts))
|
||||
if 'body' in kwargs:
|
||||
self._logger.debug("REQ BODY: %s\n" % (kwargs['body']))
|
||||
HTTPJSONRESTClient._logger.debug("REQ BODY: %s\n"
|
||||
% (kwargs['body']))
|
||||
|
||||
def _http_log_resp(self, resp, body):
|
||||
if not self.http_log_debug:
|
||||
return
|
||||
self._logger.debug("RESP:%s\n", pprint.pformat(resp))
|
||||
self._logger.debug("RESP BODY:%s\n", body)
|
||||
HTTPJSONRESTClient._logger.debug("RESP:%s\n", pprint.pformat(resp))
|
||||
HTTPJSONRESTClient._logger.debug("RESP BODY:%s\n", body)
|
||||
|
||||
def request(self, *args, **kwargs):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue