diff --git a/rollbar/__init__.py b/rollbar/__init__.py index 9aa79897..a40e1125 100644 --- a/rollbar/__init__.py +++ b/rollbar/__init__.py @@ -316,6 +316,7 @@ def _get_fastapi_request(): 'capture_username': False, 'capture_ip': True, 'log_all_rate_limited_items': True, + 'log_payload_on_error': True, 'http_proxy': None, 'http_proxy_user': None, 'http_proxy_password': None, @@ -1730,7 +1731,9 @@ def _parse_response(path, access_token, params, resp, endpoint=None): if resp.status_code == 429: if SETTINGS['log_all_rate_limited_items'] or not last_response_was_429: - log.warning("Rollbar: over rate limit, data was dropped. Payload was: %r", params) + log.warning("Rollbar: over rate limit, data was dropped.") + if SETTINGS['log_payload_on_error']: + log.warning("Payload was: %r", params) return elif resp.status_code == 502: log.exception('Rollbar api returned a 502') @@ -1743,7 +1746,9 @@ def _parse_response(path, access_token, params, resp, endpoint=None): payload = json.loads(params) uuid = payload['data']['uuid'] host = payload['data']['server']['host'] - log.error("Rollbar: request entity too large for UUID %r\n. Payload:\n%r", uuid, payload) + log.error("Rollbar: request entity too large for UUID %r\n.", uuid) + if SETTINGS['log_payload_on_error']: + log.error("Payload:\n%r", payload) except (TypeError, ValueError): log.exception('Unable to decode JSON for failsafe.') except KeyError: