diff --git a/kirovy/exception_handler.py b/kirovy/exception_handler.py index 5a46ef0..426f83c 100644 --- a/kirovy/exception_handler.py +++ b/kirovy/exception_handler.py @@ -1,9 +1,12 @@ from rest_framework.views import exception_handler +from kirovy import logging from kirovy.exceptions.view_exceptions import KirovyAPIException from kirovy.objects import ui_objects from kirovy.response import KirovyResponse +_LOGGER = logging.get_logger("api_exceptions") + def kirovy_exception_handler(exception: Exception, context) -> KirovyResponse[ui_objects.ErrorResponseData] | None: """Exception handler to deal with our custom exception types. @@ -23,6 +26,7 @@ def kirovy_exception_handler(exception: Exception, context) -> KirovyResponse[ui Otherwise, it calls the base DRF exception handler :func:`rest_framework.views.exception_handler`. """ if isinstance(exception, KirovyAPIException): + _LOGGER.exception(str(exception.detail), context=context, e=exception) return KirovyResponse(exception.as_error_response_data(), status=exception.status_code) return exception_handler(exception, context) diff --git a/kirovy/settings/_base.py b/kirovy/settings/_base.py index bfc960b..547e68a 100644 --- a/kirovy/settings/_base.py +++ b/kirovy/settings/_base.py @@ -249,8 +249,9 @@ "class": "logging.StreamHandler", }, }, - "root": { + # No name will capture all logs + "": { "handlers": ["console"], - "level": "INFO", + "level": get_env_var("DJANGO_LOG_LEVEL", "INFO"), }, }