日志检索
云开发日志检索功能帮助您快速定位和分析应用运行过程中的问题。支持多种检索方式,包括全文检索、键值检索和模糊匹配,让您能够高效地查找特定日志信息。
开通检索功能
- 登录 云开发平台,选择目标环境。
- 在左侧菜单选择 日志监控,在页面顶部 Tab 选择 日志管理。
- 开通日志服务后即可开始使用各种检索功能。
日志格式
日志打印后的格式会自带系统默认的字段,其中默认的系统的字段如下(各类日志的完整字段见 日志字段说明):
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
| level | string | 是 | 日志级别(log/info/warn/error) |
| requestId | string | 是 | 请求ID |
| module | string | 是 | 模块名 |
| resourceName | string | 是 | 资源名 |
| errorCode | string | 是 | 错误码 |
| errorMessage | string | 是 | 错误信息 |
| request | string | 是 | 请求参数 |
| response | string | 是 | 返回参数 |
| msg | string | 否 | 简单日志内容 |
| user | string | 是 | 用户标识 |
| src | string | 是 | system/app |
| startTime | string | 是 | 请求开始时间 |
| timeCost | string | 是 | 请求耗时 |
| service | string | 是 | 服务调用 |
云函数
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
| function_name | string | 是 | 函数名 |
| request_id | string | 是 | 请求ID |
| qualifier | string | 是 | 版本 |
提示
检索方式详解
1. 全文检索
全文检索是最常用的日志查找方式,系统会自动将日志内容按分词符拆分为多个词组,您可以输入关键词进行精确或模糊匹配。
使用场景:
- 查找包含特定错误信息的日志
- 搜索包含某个函数名或变量名的日志
- 定位包含特定用户ID的操作记录
示例:
polls # 查找包含 “polls” 的所有日志

2. 键值检索
键值检索允许您根据日志的结构化字段进行精确查找。日志内容以 JSON 格式存储,您可以使用 key:value 格式来检索特定字段的内容。
常用字段:
| 字段 | 说明 | 示例 |
|---|---|---|
function_name | 云函数名称 | function_name:"user-login" |
request_id | 请求 ID | request_id:"abc123" |
status_code | 状态码,200 为成功,202 为中间态 | status_code>200 AND status_code!=202 |
src | 日志来源:system 为系统日志,app 为用户代码日志 | src:app |
log | 日志正文 | log:"Error" |
duration | 执行耗时(毫秒) | duration:>5000 |
memory | 函数内存配置 | memory:512 |
user_id | 用户标识 | user_id:"1307589412" |
namespace | 环境 ID | namespace:"my-env" |
qualifier | 函数版本 | qualifier:"$LATEST" |
retry_num | 重试次数 | retry_num=0 |
使用场景:
- 查找执行超时的日志:
duration:>5000 - 查找特定函数的日志:
function_name:"user-login" - 查找特定用户的操作:
user_id:"1307589412"
示例:
action: QueryDocument # 查找action为"QueryDocument"的所有日志

3. 模糊关键字检索
模糊检索使用通配符来匹配不确定的字符,适用于部分信息已知的场景。
通配符说明
| 通配符 | 描述 | 示例 | 匹配结果 |
|---|---|---|---|
* | 匹配零个或多个任意字符(不支持开头使用) | abc* | abc 、 abcd 、 abcdef |
? | 匹配单个任意字符 | ab?c | abdc 、 abec 、 ab1c |
前缀模糊查询不支持
通配符 * 不支持用在查询开头,请改用后缀模糊或使用完整关键词。
使用场景
多版本函数查找:
action: Query* # 查找action为"Query"开头的所有日志

高级查询语法
逻辑运算符
| 运算符 | 语法 | 说明 | 示例 |
|---|---|---|---|
| 与 | A and B 或 A B | 返回同时包含A和B的日志 | error and timeout |
| 或 | A or B | 返回包含A或B的日志 | error or warning |
| 非 | not B | 返回不包含B的日志 | not debug |
| 减 | A not B | 返回包含A但不包含B的日志 | error not timeout |
特殊字符处理
| 语法 | 说明 | 示例 |
|---|---|---|
'text' | 单引号内的文本作为普通字符处理 | 'and' 查找包含"and"的日志 |
"text" | 双引号内的文本作为普通字符处理 | "error:404" 查找包含"error:404"的日志 |
\ | 转义字符,转义特殊符号 | \: 表示冒号字符本身 |
键值对查询
key:value # 基本键值对查询
function_name:"user login" # 包含空格的值需要用引号
"error level":high # 包含空格的键名需要用引号
复合查询示例
错误排查
status_code>200 AND status_code!=202 # 查找失败的调用日志
function_name:"user-login" AND log:"error" # 查找 user-login 函数中的错误日志
性能分析
duration:>5000 # 查找执行时间超过 5 秒的日志
src:app AND log:"timeout" # 查找业务代码中的超时日志
用户行为追踪
user_id:"1307589412" AND log:"login" # 查找特定用户的登录日志
request_id:"abc123" # 查找特定请求的日志
使用 CloudBase CLI 检索日志
除控制台外,也可以使用 CloudBase CLI 执行同样的检索语句,适合批量查询、脚本化处理或交给 AI 分析:
# 检索日志,-l 控制返回条数,--json 便于脚本消费
tcb logs search -q 'function_name:"user-login" AND log:"error"' -l 20 --json
# 查询云托管日志
tcb logs search --service tcbr -q '"error" AND "timeout"' -l 20 --json
完整的 CLI 参数、字段清单与典型场景请参见 CLI 日志检索。
实用检索场景
1. 故障排查
# 查找最近失败的调用
status_code>200 AND status_code!=202
# 查找特定函数的超时错误
function_name:"payment-process" AND log:"timeout"
# 查找业务代码中的异常
src:app AND log:"error"
2. 性能监控
# 查找慢调用
duration:>3000
# 查找内存异常
log:"out of memory"
# 统计各函数调用次数
src:system | select function_name, count(*) as c group by function_name order by c desc limit 20
3. 用户行为分析
# 查找特定用户的所有操作
user_id:"1307589412"
# 查找登录相关日志
log:"login" OR log:"logout"
# 查找网关访问日志
logType:accesslog