Projet

Général

Profil

0001-logging-rename-LOGGED_REQUESTS_MAX_SIZE-parameter-36.patch

Nicolas Roche, 25 octobre 2019 14:28

Télécharger (4,17 ko)

Voir les différences:

Subject: [PATCH 1/2] logging: rename LOGGED_REQUESTS_MAX_SIZE parameter
 (#36596)

 passerelle/settings.py           | 2 +-
 passerelle/utils/__init__.py     | 2 +-
 passerelle/utils/jsonresponse.py | 2 +-
 passerelle/views.py              | 2 +-
 tests/test_api_access.py         | 2 +-
 tests/test_requests.py           | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)
passerelle/settings.py
212 212
LOGGED_RESPONSES_MAX_SIZE = 4096
213 213

  
214 214
# Max size of the request to log
215
LOGGED_REQUEST_MAX_SIZE = 5000
215
LOGGED_REQUESTS_MAX_SIZE = 5000
216 216

  
217 217
# Number of days to keep logs
218 218
LOG_RETENTION_DAYS = 7
passerelle/utils/__init__.py
161 161
    if logger.level == 10:  # DEBUG
162 162
        extra['request_headers'] = dict(request.headers.items())
163 163
        if request.body:
164
            extra['request_payload'] = repr(request.body[:settings.LOGGED_REQUEST_MAX_SIZE])
164
            extra['request_payload'] = repr(request.body[:settings.LOGGED_REQUESTS_MAX_SIZE])
165 165
    if response is not None:
166 166
        message = message + ' (=> %s)' % response.status_code
167 167
        extra['response_status'] = response.status_code
passerelle/utils/jsonresponse.py
132 132
        except Exception as e:
133 133
            extras = {'method': req.method, 'exception': exception_to_text(e), 'request': req}
134 134
            if req.method == 'POST':
135
                extras.update({'body': repr(req.body[:settings.LOGGED_REQUEST_MAX_SIZE])})
135
                extras.update({'body': repr(req.body[:settings.LOGGED_REQUESTS_MAX_SIZE])})
136 136
            if (not isinstance(e, (Http404, PermissionDenied, ObjectDoesNotExist, RequestException))
137 137
                    and getattr(e, 'log_error', True)):
138 138
                logger.exception("Error occurred while processing request", extra=extras)
passerelle/views.py
408 408
        connector_name, endpoint_name = kwargs['connector'], kwargs['endpoint']
409 409
        connector = self.get_object()
410 410
        url = request.get_full_path()
411
        payload = request.body[:settings.LOGGED_REQUEST_MAX_SIZE]
411
        payload = request.body[:settings.LOGGED_REQUESTS_MAX_SIZE]
412 412
        try:
413 413
            payload.decode('utf-8')
414 414
        except UnicodeDecodeError:
tests/test_api_access.py
227 227
    assert len(ResourceLog.objects.all()[3].extra['body']) == 86
228 228

  
229 229
    # troncate logs
230
    settings.LOGGED_REQUEST_MAX_SIZE = 10
230
    settings.LOGGED_REQUESTS_MAX_SIZE = 10
231 231
    settings.LOGGED_RESPONSES_MAX_SIZE = 20
232 232
    with utils.mock_url(oxyd.URL, response, headers=headers):
233 233
        result = app.post_json(endpoint_url, params=payload)
tests/test_requests.py
111 111
    logger = logging.getLogger('requests')
112 112
    logger.setLevel(log_level)
113 113

  
114
    settings.LOGGED_REQUEST_MAX_SIZE = 8
114
    settings.LOGGED_REQUESTS_MAX_SIZE = 8
115 115
    with HTTMock(http400_mock):
116 116
        requests = Request(logger=logger)
117 117
        response = requests.post(url, json={'name':'josh'})
118
-