gpt4 book ai didi

python - AWS Lambda Python 3.7 运行时异常记录

转载 作者:太空狗 更新时间:2023-10-29 17:33:58 25 4
gpt4 key购买 nike

使用 Python 3.7 运行时抛出的未处理异常似乎不会像在 Python 3.6 中那样记录到 CloudWatch。如何在 Python 3.7 中设置记录器来捕获此信息?

Also posted on AWS forum

复制:

<强>1。像这样创建一个 lambda 函数:

import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
def lambda_handler(event, context):
logger.info("This shows fine")
raise Exception("I failed")

<强>2。使用 Python 3.6 运行时运行此函数

START RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc Version: $LATEST
[INFO] 2019-01-02T07:25:52.797Z a2b6038b-0e5f-11e9-9226-9dfc35a22dcc //This shows fine
I failed: Exception
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 9, in lambda_handler
raise Exception("I failed")
Exception: I failed

END RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc
REPORT RequestId: a2b6038b-0e5f-11e9-9226-9dfc35a22dcc Duration: 1.12 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 21 MB

<强>2。切换到 Python 3.7 运行时并再次运行......没有堆栈跟踪

    START RequestId: 3840aa8e-0e5d-11e9-bece-45a2022a53c6 Version: $LATEST
[INFO] 2019-01-02T07:08:35.170Z 3840aa8e-0e5d-11e9-bece-45a2022a53c6 This shows fine

END RequestId: 3840aa8e-0e5d-11e9-bece-45a2022a53c6
REPORT RequestId: 3840aa8e-0e5d-11e9-bece-45a2022a53c6 Duration: 2.20 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 20 MB

最佳答案

是的,我注意到了。为了克服这个问题,我使用了一个装饰器。

def log_errors(func: Callable[[dict, dict], None]):
def wrapper(*args, **kwargs):
try:
func(*args, **kwargs)
except Exception as err:
warning(traceback.format_exc())
raise err

return wrapper

用法:

@log_errors
def handler(event, context):
...

关于python - AWS Lambda Python 3.7 运行时异常记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54002903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com