summaryrefslogtreecommitdiff
path: root/keystoneclient/adapter.py
diff options
context:
space:
mode:
authorJamie Lennox <jamielennox@redhat.com>2015-02-20 14:00:54 +1100
committerJamie Lennox <jamielennox@redhat.com>2015-03-16 15:16:07 +1100
commitc0a731204e3326d0446437f6c2849af9ad9c714b (patch)
tree5d698a51039889b9afe3bd2bfc25251ffdabbdd0 /keystoneclient/adapter.py
parent385c19b8b6bfb717fc4b39e211c9ef05b80d2df0 (diff)
downloadpython-keystoneclient-c0a731204e3326d0446437f6c2849af9ad9c714b.tar.gz
Allow passing logger object to request
It can become difficult to trace the client that created HTTP requests as the logging all goes through the keystoneclient.session logger. Allow passing the logger through the request function and make it able to be set via the adapter so it can be set once per client instantiation. Change-Id: Id45c315bee9a56f1c241210d667470751bf689d5 Closes-Bug: #1421868
Diffstat (limited to 'keystoneclient/adapter.py')
-rw-r--r--keystoneclient/adapter.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/keystoneclient/adapter.py b/keystoneclient/adapter.py
index e8e0a29..74399da 100644
--- a/keystoneclient/adapter.py
+++ b/keystoneclient/adapter.py
@@ -40,13 +40,16 @@ class Adapter(object):
be attempted for connection errors.
Default None - use session default which
is don't retry.
+ :param logger: A logging object to use for requests that pass through this
+ adapter.
+ :type logger: logging.Logger
"""
@utils.positional()
def __init__(self, session, service_type=None, service_name=None,
interface=None, region_name=None, endpoint_override=None,
version=None, auth=None, user_agent=None,
- connect_retries=None):
+ connect_retries=None, logger=None):
# NOTE(jamielennox): when adding new parameters to adapter please also
# add them to the adapter call in httpclient.HTTPClient.__init__
self.session = session
@@ -59,6 +62,7 @@ class Adapter(object):
self.user_agent = user_agent
self.auth = auth
self.connect_retries = connect_retries
+ self.logger = logger
def _set_endpoint_filter_kwargs(self, kwargs):
if self.service_type:
@@ -85,6 +89,8 @@ class Adapter(object):
kwargs.setdefault('user_agent', self.user_agent)
if self.connect_retries is not None:
kwargs.setdefault('connect_retries', self.connect_retries)
+ if self.logger:
+ kwargs.setdefault('logger', self.logger)
return self.session.request(url, method, **kwargs)