diff options
author | Jamie Lennox <jamielennox@redhat.com> | 2015-02-20 14:00:54 +1100 |
---|---|---|
committer | Jamie Lennox <jamielennox@redhat.com> | 2015-03-16 15:16:07 +1100 |
commit | c0a731204e3326d0446437f6c2849af9ad9c714b (patch) | |
tree | 5d698a51039889b9afe3bd2bfc25251ffdabbdd0 /keystoneclient/adapter.py | |
parent | 385c19b8b6bfb717fc4b39e211c9ef05b80d2df0 (diff) | |
download | python-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.py | 8 |
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) |