From 001cb2273b53291852cb4b8f218b77ab1f4852e3 Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Sat, 1 Feb 2025 05:50:03 -0500 Subject: [PATCH] fixing formatting of traceback --- src/registrar/config/settings.py | 7 ++++++- src/registrar/views/utility/invitation_helper.py | 3 +-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/registrar/config/settings.py b/src/registrar/config/settings.py index a58e3e2f9..58250e85c 100644 --- a/src/registrar/config/settings.py +++ b/src/registrar/config/settings.py @@ -25,6 +25,7 @@ from typing import Final from botocore.config import Config import json import logging +import traceback from django.utils.log import ServerFormatter # # # ### @@ -471,7 +472,11 @@ class JsonFormatter(logging.Formatter): "lineno": record.lineno, "message": record.getMessage(), } - return json.dumps(log_record) + # Capture exception info if it exists + if record.exc_info: + log_record["exception"] = "".join(traceback.format_exception(*record.exc_info)) + + return json.dumps(log_record, ensure_ascii=False) class JsonServerFormatter(ServerFormatter): diff --git a/src/registrar/views/utility/invitation_helper.py b/src/registrar/views/utility/invitation_helper.py index ce679f6f2..18c427940 100644 --- a/src/registrar/views/utility/invitation_helper.py +++ b/src/registrar/views/utility/invitation_helper.py @@ -3,7 +3,6 @@ from django.db import IntegrityError from registrar.models import PortfolioInvitation, User, UserPortfolioPermission from registrar.utility.email import EmailSendingError import logging -import traceback from registrar.utility.errors import ( AlreadyDomainInvitedError, AlreadyDomainManagerError, @@ -11,7 +10,7 @@ from registrar.utility.errors import ( OutsideOrgMemberError, ) -logger = logging.getLogger(__name__) +logger = logging.getLogger(__name__) # These methods are used by multiple views which share similar logic and function # when creating invitations and sending associated emails. These can be reused in