add django request context to requests error logs (#33740)
This commit is contained in:
parent
7aab01c92b
commit
c6095a099c
|
@ -1146,6 +1146,7 @@ class JsonCellBase(CellBase):
|
||||||
invalidate_cache=invalidate_cache,
|
invalidate_cache=invalidate_cache,
|
||||||
log_errors=log_errors,
|
log_errors=log_errors,
|
||||||
timeout=data_url_dict.get('timeout', self.timeout),
|
timeout=data_url_dict.get('timeout', self.timeout),
|
||||||
|
django_request=context.get('request'),
|
||||||
)
|
)
|
||||||
except requests.RequestException as e:
|
except requests.RequestException as e:
|
||||||
extra_context[data_key + '_status'] = -1
|
extra_context[data_key + '_status'] = -1
|
||||||
|
@ -1237,7 +1238,9 @@ class JsonCellBase(CellBase):
|
||||||
headers={'Accept': 'application/json'},
|
headers={'Accept': 'application/json'},
|
||||||
remote_service='auto',
|
remote_service='auto',
|
||||||
json=content,
|
json=content,
|
||||||
without_user=True)
|
without_user=True,
|
||||||
|
django_request=request,
|
||||||
|
)
|
||||||
|
|
||||||
if json_response.status_code // 100 != 2: # 2xx
|
if json_response.status_code // 100 != 2: # 2xx
|
||||||
logger.error('error POSTing data to URL (%s)', url)
|
logger.error('error POSTing data to URL (%s)', url)
|
||||||
|
|
|
@ -39,6 +39,7 @@ class Requests(RequestsSession):
|
||||||
cache_duration = kwargs.pop('cache_duration', 15)
|
cache_duration = kwargs.pop('cache_duration', 15)
|
||||||
invalidate_cache = kwargs.pop('invalidate_cache', False)
|
invalidate_cache = kwargs.pop('invalidate_cache', False)
|
||||||
user = kwargs.pop('user', None)
|
user = kwargs.pop('user', None)
|
||||||
|
django_request = kwargs.pop('django_request', None)
|
||||||
without_user = kwargs.pop('without_user', False)
|
without_user = kwargs.pop('without_user', False)
|
||||||
federation_key = kwargs.pop('federation_key', 'auto') # 'auto', 'email', 'nameid'
|
federation_key = kwargs.pop('federation_key', 'auto') # 'auto', 'email', 'nameid'
|
||||||
raise_if_not_cached = kwargs.pop('raise_if_not_cached', False)
|
raise_if_not_cached = kwargs.pop('raise_if_not_cached', False)
|
||||||
|
@ -123,7 +124,10 @@ class Requests(RequestsSession):
|
||||||
|
|
||||||
response = super(Requests, self).request(method, url, **kwargs)
|
response = super(Requests, self).request(method, url, **kwargs)
|
||||||
if log_errors and (response.status_code // 100 != 2):
|
if log_errors and (response.status_code // 100 != 2):
|
||||||
logging.error('failed to %s %s (%s)', method, url, response.status_code)
|
extra = {}
|
||||||
|
if django_request:
|
||||||
|
extra['request'] = django_request
|
||||||
|
logging.error('failed to %s %s (%s)', method, url, response.status_code, extra=extra)
|
||||||
if method == 'GET' and cache_duration and (response.status_code // 100 == 2):
|
if method == 'GET' and cache_duration and (response.status_code // 100 == 2):
|
||||||
cache.set(cache_key, response.content, cache_duration)
|
cache.set(cache_key, response.content, cache_duration)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue