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,
|
||||
log_errors=log_errors,
|
||||
timeout=data_url_dict.get('timeout', self.timeout),
|
||||
django_request=context.get('request'),
|
||||
)
|
||||
except requests.RequestException as e:
|
||||
extra_context[data_key + '_status'] = -1
|
||||
|
@ -1237,7 +1238,9 @@ class JsonCellBase(CellBase):
|
|||
headers={'Accept': 'application/json'},
|
||||
remote_service='auto',
|
||||
json=content,
|
||||
without_user=True)
|
||||
without_user=True,
|
||||
django_request=request,
|
||||
)
|
||||
|
||||
if json_response.status_code // 100 != 2: # 2xx
|
||||
logger.error('error POSTing data to URL (%s)', url)
|
||||
|
|
|
@ -39,6 +39,7 @@ class Requests(RequestsSession):
|
|||
cache_duration = kwargs.pop('cache_duration', 15)
|
||||
invalidate_cache = kwargs.pop('invalidate_cache', False)
|
||||
user = kwargs.pop('user', None)
|
||||
django_request = kwargs.pop('django_request', None)
|
||||
without_user = kwargs.pop('without_user', False)
|
||||
federation_key = kwargs.pop('federation_key', 'auto') # 'auto', 'email', 'nameid'
|
||||
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)
|
||||
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):
|
||||
cache.set(cache_key, response.content, cache_duration)
|
||||
|
||||
|
|
Loading…
Reference in New Issue