From 07433f8f1e2d69869022588b43b1a0eabdeb04ab Mon Sep 17 00:00:00 2001 From: John Keyes Date: Fri, 17 Apr 2015 23:56:27 +0100 Subject: [PATCH] Adding basic request logging. --- intercom/request.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/intercom/request.py b/intercom/request.py index c19ccecf..be310107 100644 --- a/intercom/request.py +++ b/intercom/request.py @@ -5,8 +5,11 @@ import certifi import json +import logging import requests +logger = logging.getLogger('intercom.request') + class Request(object): @@ -29,10 +32,27 @@ def send_request_to_path(cls, method, url, auth, params=None): elif method == 'GET': req_params['params'] = params req_params['headers'] = headers + + # request logging + if logger.isEnabledFor(logging.DEBUG): + logger.debug("Sending %s request to: %s", method, url) + logger.debug(" headers: %s", headers) + if method == 'GET': + logger.debug(" params: %s", req_params['params']) + else: + logger.debug(" params: %s", req_params['data']) + resp = requests.request( method, url, timeout=cls.timeout, auth=auth, verify=certifi.where(), **req_params) + # response logging + if logger.isEnabledFor(logging.DEBUG): + logger.debug("Response received from %s", url) + logger.debug(" encoding=%s status:%s", + resp.encoding, resp.status_code) + logger.debug(" content:\n%s", resp.content) + cls.raise_errors_on_failure(resp) cls.set_rate_limit_details(resp)