仅记录AWS Lambda错误

时间:2018-09-04 09:06:01

标签: amazon-web-services logging aws-lambda amazon-cloudwatch

我试图添加几行代码,以便当我的AWS Lambda函数失败时,它会记录失败的时间以及使用的输入参数。在文档之后,我添加了以下几行:

logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.info('user {0}'.format(event["user"]))

它们生成一些可从CloudWatch访问的信息:

08:50:29 - START RequestId: 92d000ad-b01f-11e8-98a6-c32aa1e3e890 Version: $LATEST
08:50:31 - [INFO] 2018-09-04T08:50:31.781Z 92d000ad-b01f-11e8-98a6-c32aa1e3e890 user xxxxxx
08:50:31 - END RequestId: 92d000ad-b01f-11e8-98a6-c32aa1e3e890
08:50:31 - REPORT RequestId: 92d000ad-b01f-11e8-98a6-c32aa1e3e890 Duration: 2513.04 ms Billed Duration: 2600 ms Memory Size: 896 MB Max Memory Used: 37 MB 

但是,似乎每个lambda函数的调用都会在CloudWatch中创建一个日志条目。实际上,不可能识别与功能故障相关的日志。只能在logging写入信息时创建日志条目吗?或者,可以将S3存储桶设置为存储日志文件(与错误相关)吗?

1 个答案:

答案 0 :(得分:0)

您是否不使用日志级别?

logger.setLevel(logging.ERROR)

如果您需要记录所有事件,而Cloudwatch将是一个不错的选择,那么您可以考虑在Cloudwatch \ Logging内创建一个指标过滤器,以为所有带有关键字“错误”的条目创建警报