Skip to content

Commit 999577e

Browse files
committed
feat(logging): Include exception_name
1 parent bc0b9cc commit 999577e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

aws_lambda_powertools/logging/formatter.py

+19
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,24 @@ def _extract_log_exception(self, log_record: logging.LogRecord) -> Optional[str]
126126

127127
return None
128128

129+
def _extract_log_exception_name(self, log_record: logging.LogRecord) -> Optional[str]:
130+
"""Extract the exception name, if available
131+
132+
Parameters
133+
----------
134+
log_record : logging.LogRecord
135+
Log record to extract exception name from
136+
137+
Returns
138+
-------
139+
log_record: Optional[str]
140+
Log record with exception name
141+
"""
142+
if log_record.exc_info:
143+
return log_record.exc_info[0].__name__
144+
145+
return None
146+
129147
def _extract_log_keys(self, log_record: logging.LogRecord) -> Dict:
130148
"""Extract and parse custom and reserved log keys
131149
@@ -164,6 +182,7 @@ def _extract_log_keys(self, log_record: logging.LogRecord) -> Dict:
164182
def format(self, record): # noqa: A003
165183
formatted_log = self._extract_log_keys(log_record=record)
166184
formatted_log["message"] = self._extract_log_message(log_record=record)
185+
formatted_log["exception_name"] = self._extract_log_exception_name(log_record=record)
167186
formatted_log["exception"] = self._extract_log_exception(log_record=record)
168187
formatted_log.update({"xray_trace_id": self._get_latest_trace_id()}) # fetch latest Trace ID, if any
169188

0 commit comments

Comments
 (0)