Log request exceptions

json
Ivan Habunek 2023-11-21 10:07:36 +01:00
rodzic 9664d71b57
commit 57be6beae8
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: F5F0623FF5EBCB3D
2 zmienionych plików z 7 dodań i 2 usunięć

Wyświetl plik

@ -3,7 +3,7 @@ from requests.exceptions import RequestException
from toot import __version__ from toot import __version__
from toot.exceptions import NotFoundError, ApiError from toot.exceptions import NotFoundError, ApiError
from toot.logging import log_request, log_response from toot.logging import log_request, log_request_exception, log_response
def send_request(request, allow_redirects=True): def send_request(request, allow_redirects=True):
@ -19,6 +19,7 @@ def send_request(request, allow_redirects=True):
settings = session.merge_environment_settings(prepared.url, {}, None, None, None) settings = session.merge_environment_settings(prepared.url, {}, None, None, None)
response = session.send(prepared, allow_redirects=allow_redirects, **settings) response = session.send(prepared, allow_redirects=allow_redirects, **settings)
except RequestException as ex: except RequestException as ex:
log_request_exception(request, ex)
raise ApiError(f"Request failed: {str(ex)}") raise ApiError(f"Request failed: {str(ex)}")
log_response(response) log_response(response)

Wyświetl plik

@ -2,7 +2,7 @@ import json
import sys import sys
from logging import getLogger from logging import getLogger
from requests import Request, Response from requests import Request, RequestException, Response
from urllib.parse import urlencode from urllib.parse import urlencode
logger = getLogger("toot") logger = getLogger("toot")
@ -56,6 +56,10 @@ def log_response(response: Response):
logger.debug(f" <-- {content}") logger.debug(f" <-- {content}")
def log_request_exception(request: Request, ex: RequestException):
logger.debug(f" <-- {request.method} {_url(request)} Exception: {ex}")
def _url(request): def _url(request):
url = request.url url = request.url
if request.params: if request.params: