From 453e926322ffdbc4862ed5d0b13d0f98760c6b67 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Wed, 7 Jan 2015 10:59:34 -0500 Subject: [PATCH] don't log service catalog in every token response The whole service catalog is embedded in every token, and by default all token responses are logged at DEBUG. This adds a huge amount of basically const data into system logs, over and over and over again. We should not log the service catalog by default on every token response. The following replaces the service catalog with the token . This reduces the compressed logs of API services by about 1/3. Change-Id: I95832d0f13ca93c4618784da9d1eb9ca166cae53 --- keystoneclient/session.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/keystoneclient/session.py b/keystoneclient/session.py index d68e2091e..1f606e43e 100644 --- a/keystoneclient/session.py +++ b/keystoneclient/session.py @@ -53,6 +53,21 @@ def request(url, method='GET', **kwargs): return Session().request(url, method=method, **kwargs) +def remove_service_catalog(body): + try: + data = jsonutils.loads(body) + except ValueError: + return body + try: + if 'catalog' in data['token']: + data['token']['catalog'] = '' + return jsonutils.dumps(data) + else: + return body + except KeyError: + return body + + class Session(object): """Maintains client communication state and common functionality. @@ -182,7 +197,7 @@ class Session(object): if not headers: headers = response.headers if not text: - text = response.text + text = remove_service_catalog(response.text) if json: text = jsonutils.dumps(json)