如何设置log_stream_prefix以获取Lambda的CloudWatch日志?
CloudWatch日志流前缀设置说明
根据你提供的日志流格式,log_stream_name_prefix的取值需要基于前缀匹配规则(日志流名称必须以指定前缀开头),具体分以下场景:
- 获取该日志组下全部日志流:无需指定
logStreamNamePrefix参数(该参数为可选),或者将其设为空字符串"",调用describe_log_streams后会返回/aws/lambda/mylambda组内所有日志流。 - 筛选指定日期的日志流:例如要获取2023年5月1日的所有日志流,设置前缀为:
log_stream_name_prefix = "2023/05/01/" - 筛选特定版本的日志流:由于你的日志流名称中
[$LATEST]并非开头部分,无法通过logStreamNamePrefix直接匹配所有包含[$LATEST]的日志流。这种情况可以先获取该组下所有日志流,再在本地过滤包含[$LATEST]的条目,示例代码片段:response = logs.describe_log_streams( logGroupName="/aws/lambda/mylambda", orderBy='LogStreamName', descending=True, ) # 过滤出包含[$LATEST]的日志流 latest_streams = [stream for stream in response['logStreams'] if '[$LATEST]' in stream['logStreamName']]
另外注意你的代码中存在变量名不一致问题:定义的是logGroupName = "/aws/lambda/mylambda",但调用时用的是logGroupName=group_name,需要修正为一致的变量名,避免报错。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

