fixing formatting of traceback

This commit is contained in:
David Kennedy 2025-02-01 05:50:03 -05:00
parent 8de354f31e
commit 001cb2273b
No known key found for this signature in database
GPG key ID: 6528A5386E66B96B
2 changed files with 7 additions and 3 deletions

View file

@ -25,6 +25,7 @@ from typing import Final
from botocore.config import Config from botocore.config import Config
import json import json
import logging import logging
import traceback
from django.utils.log import ServerFormatter from django.utils.log import ServerFormatter
# # # ### # # # ###
@ -471,7 +472,11 @@ class JsonFormatter(logging.Formatter):
"lineno": record.lineno, "lineno": record.lineno,
"message": record.getMessage(), "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): class JsonServerFormatter(ServerFormatter):

View file

@ -3,7 +3,6 @@ from django.db import IntegrityError
from registrar.models import PortfolioInvitation, User, UserPortfolioPermission from registrar.models import PortfolioInvitation, User, UserPortfolioPermission
from registrar.utility.email import EmailSendingError from registrar.utility.email import EmailSendingError
import logging import logging
import traceback
from registrar.utility.errors import ( from registrar.utility.errors import (
AlreadyDomainInvitedError, AlreadyDomainInvitedError,
AlreadyDomainManagerError, AlreadyDomainManagerError,
@ -11,7 +10,7 @@ from registrar.utility.errors import (
OutsideOrgMemberError, OutsideOrgMemberError,
) )
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# These methods are used by multiple views which share similar logic and function # 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 # when creating invitations and sending associated emails. These can be reused in