一、操作场景
·控制台检索:Serverless 控制台 内嵌日志服务 CLS 检索分析页面,支持关键词搜索,你可以在云函数控制台日志高级检索页面使用查询语法组合关键词进行检索。
·API 检索:你可通过调用日志服务 CLS 搜索日志 接口查询函数调用日志。
二、控制台检索
参考以下步骤对函数使用日志高级检索功能:
1. 登录 Serverless 控制台,选择左侧导航栏中的函数服务。
2. 在“函数服务”列表页面,选择需检索日志的函数名,进入函数详情页。
3. 选择日志查询 > 高级检索。在“高级检索”页中,你可使用关键词进行搜索,或使用查询语法组合关键词进行检索。语法规则详情可参见 日志检索语法与规则。
4. 配置检索内容后,单击右侧的检索分析即可查询检索结果。
三、API 检索
下文介绍 CLS 搜索日志 API 与 SCF 相关参数如何获取和填充。
四、TopicId
TopicId 为函数日志投递的 CLS 日志主题 ID。获取 TopicId 操作步骤如下:
1. 登录 Serverless 控制台,选择左侧导航栏中的函数服务。
2. 在“函数服务”列表页面,选择需检索日志的函数名,进入函数详情页。
3. 在“函数配置”页查看“日志配置”。如下:
4. 单击日志主题对应的链接,跳转到日志服务控制台后,可以获取日志主题 ID。如下:
注意:你也可以通过调用 获取函数详细信息 API 取 ClsTopicId 获取 Topicid。
五、获取某函数全部调用日志
以函数名称为 hello-scf,所在命名空间为 default 为例:
SCF_Namespace:"default" AND SCF_FunctionName:"hello-scf"
六、获取某个请求(RequestId)调用日志
以请求为 09c346d3-8417-49c5-8569-xxxxxxxxxxxx 为例:
SCF_RequestId:"09c346d3-8417-49c5-8569-xxxxxxxxxxxx"
七、获取某个请求(RequestId)的执行结果
执行结果包括请求开始时间、执行结果、执行耗时、内存消耗、日志等级,以请求为 09c346d3-8417-49c5-8569-xxxxxxxxxxxx 为例:
SCF_RequestId:"09c346d3-8417-49c5-8569-xxxxxxxxxxxx" AND SCF_Type:Platform AND SCF_Message:Report*
八、获取某个请求(RequestId)的返回值
以请求为 09c346d3-8417-49c5-8569-xxxxxxxxxxxx 为例:
SCF_RequestId:"09c346d3-8417-49c5-8569-xxxxxxxxxxxx" AND SCF_Type:Platform AND SCF_Message:Response*
九、获取一段时间内函数的请求列表
以函数名称为 hello-scf,所在命名空间为 default,查询别名为 $DEFAULT,查询版本为1为例:
·获取由于内部错误导致的失败请求列表:
SCF_Type:Platform AND SCF_Message:Report* | select SCF_RequestId as requestId, SCF_RetryNum as retryNum,SCF_StartTime as startTime where SCF_FunctionName='hello-scf' and SCF_Namespace='default' and SCF_Qualifier='1' and SCF_Alias:'$DEFAULT' and SCF_StatusCode = 500 order by startTime desc
·获取执行时间超过3秒的请求列表:
SCF_Type:Platform AND SCF_Message:Report* | select SCF_RequestId as requestId, SCF_RetryNum as retryNum,SCF_StartTime as startTime where SCF_FunctionName='hello-scf' and SCF_Namespace='default' and SCF_Qualifier='1' and SCF_Alias:'$DEFAULT' and SCF_Duration>3000 order by startTime desc