我试图添加几行代码,以便当我的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
存储桶设置为存储日志文件(与错误相关)吗?
答案 0 :(得分:0)
您是否不使用日志级别?
logger.setLevel(logging.ERROR)
如果您需要记录所有事件,而Cloudwatch将是一个不错的选择,那么您可以考虑在Cloudwatch \ Logging内创建一个指标过滤器,以为所有带有关键字“错误”的条目创建警报