Skip to content

Commit 8e15600

Browse files
author
Artem Krivonos
committed
Custom log level mapping
1 parent 443ffba commit 8e15600

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

awslambdaric/bootstrap.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def make_error(
8787
"timestamp": time.strftime(
8888
DATETIME_FORMAT, logging.Formatter.converter(time.time())
8989
),
90-
"level": level,
90+
"log_level": level,
9191
"logger": RUNTIME_ERROR_LOGGER_NAME,
9292
"errorMessage": error_message if error_message else "",
9393
"errorType": error_type if error_type else "",
@@ -114,8 +114,11 @@ def log_error(error_result, log_sink):
114114

115115

116116
def log_error_json(error_result, log_sink):
117+
log_level = error_result.pop("log_level", logging.ERROR)
118+
error_result["level"] = logging.getLevelName(log_level)
117119
log_sink.log_error(
118-
[to_json(error_result)], log_level=error_result.get("level", logging.ERROR)
120+
[to_json(error_result)],
121+
log_level=log_level,
119122
)
120123

121124

@@ -147,7 +150,7 @@ def log_error_text(error_result, log_sink):
147150
]
148151

149152
log_sink.log_error(
150-
error_message_lines, log_level=error_result.get("level", logging.ERROR)
153+
error_message_lines, log_level=error_result.get("log_level", logging.ERROR)
151154
)
152155

153156

awslambdaric/lambda_runtime_log_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,13 @@ def format_location(record: logging.LogRecord):
7777

7878
return f"{record.pathname}:{record.funcName}:{record.lineno}"
7979

80+
@staticmethod
81+
def format_log_level(record: logging.LogRecord):
82+
level = record.levelno % 51 // 10 * 10
83+
record.levelname = logging.getLevelName(level)
84+
8085
def format(self, record: logging.LogRecord) -> str:
86+
self.format_log_level(record)
8187
record.log_format = LambdaLogFormat.JSON
8288

8389
result = {

tests/test_bootstrap.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ def raise_exception_handler(json_input, lambda_context):
399399
)
400400

401401
expected_response = {
402-
"level": 50,
402+
"log_level": 50,
403403
"logger": "system",
404404
"errorType": "FaultExceptionType",
405405
"errorMessage": "Fault exception msg",

0 commit comments

Comments
 (0)