概述
云开发为开发者提供了功能强大的日志检索及管理能力,帮助开发者更高效地进行应用调试、问题排查和性能监控。
核心优势
- 灵活的日志打印:使用云开发 SDK 自定义 打印日志,支持结构化日志输出
- 多样化检索方式:支持 全文检索、键值检索、模糊关键字检索
- 丰富的查询语法:提供多种 查询语法,满足不同场景需求
- 实时日志监控:实时查看应用运行状态,快速定位问题
功能特性
🖨️ 自定义日志打印
相比传统的 console
对象,云开发提供了更强大的自定义日志功能:
- 多级别日志:支持
log
、info
、warn
、error
四个日志等级 - 结构化输出:自动为日志内容添加字段并建立键值索引
- 增强信息:自动添加时间戳、请求ID等关键信息
- 性能优化:相比原生 console,提供更好的性能和可控性
详细使用方法请参见 打印日志。
🔍 智能日志检索
提供多种灵活的日志检索方式,满足不同场景需求:
检索方式 | 适用场景 | 特点 |
---|---|---|
全文检索 | 快速定位关键信息 | 支持关键词全文搜索 |
键值检索 | 精确查找结构化数据 | 支持 key:value 格式查询 |
模糊匹配 | 不确定关键词时使用 | 智能模糊匹配算法 |
高级语法 | 复杂查询需求 | 支持多种查询语法组合 |
详细检索方法请参见 检索日志。
📊 服务调用日志
除了传统的云函数和云托管日志,新增服务调用日志类型:
- 全链路追踪:记录通过 SDK 或 HTTP 访问云开发服务的完整调用链路
- 性能监控:监控服务调用的响应时间和成功率
- 问题定位:快速定位服务调用中的异常和错误
- 统计分析:提供服务使用情况的统计数据
详细信息请参见 服务调用日志。
技术原理
为了提高检索效率和准确性,云开发日志服务采用智能分词机制和大小写敏感匹配来精确定位用户输入的日志信息。
分词符
原始日志文本将根据分词符切分成多个关键词,云开发默认分词符为!@#%^&*()_="', <>/?|\;:\n\t\r[]{}
,以下面某条日志内容为例:
10002345987;write;ERROR;code=400;topic does not exist;
上述日志内容中 ;
,=
两个默认分词符会将日志内容切分成 6 个单词10002345987
,write
,ERROR
,code
,400
,topic does not exist
。在精准搜索中,用户只需输入任意一个单词,即可搜索到此条日志内容。
注意
- 因 日志默认系统字段 中 requestId 包含 - ,故 - 不作为默认分词符。
- 用户日志根据分词符进行分词之后的日志内容,单个分词后的内容不能超过 32KB。
大小写敏感
云开发日志检索默认大小写敏感,例如在上述日志内容例子中,日志内容已被切分成 6 个单词10002345987
,write
,ERROR
,code
,400
,topic does not exist
。若需要精确搜索到 ERROR 关键词的相关日志,需在控制台输入ERROR
。
注意
若在控制台输入error
或Error
,则无法检索到 ERROR 的相关日志。