跳到主要内容

测试、日志与监控

本文档详细介绍如何使用云开发提供的测试、日志查看和监控功能,帮助开发者高效调试和监控云函数运行状态。

前置条件

在开始测试和监控云函数之前,请确保:

  • 已创建腾讯云开发环境
  • 已部署至少一个云函数
  • 具有相应的访问权限

云函数测试

云开发提供了多种云函数测试方式,支持在线调试和本地测试,帮助开发者更加方便地调试代码。

控制台测试

通过云开发控制台可以快速测试云函数的执行效果。

测试步骤

  1. 在控制台的对应云函数管理面板中,点击「测试」按钮,打开测试弹窗
  2. 选择测试模板或自定义测试参数
  3. 点击「执行」运行测试
  4. 查看运行结果和日志输出

控制台测试界面

测试参数配置

使用模板参数

  • 点击「提交方法」下拉菜单,选择测试函数的模板方法
  • 模板参数在测试时作为 event 参数传递给函数

自定义参数 在测试参数编辑器中输入 JSON 格式的测试数据:

{
"name": "test",
"data": {
"key": "value",
"number": 123
}
}

本地调试工具

除了可视化测试功能,还可以使用命令行工具 scf-cli 进行本地调试:

# 安装 scf-cli
npm install -g scf-cli

# 本地调试函数
scf local invoke --template template.yaml --event event.json

日志查看

云开发提供了完善的日志系统,帮助开发者快速定位和解决问题。

日志功能特点

  • 实时日志:支持实时查看函数执行日志
  • 结构化展示:日志信息结构化展示,便于分析
  • 多维度筛选:支持按时间、状态等条件筛选日志
  • 详细信息:包含请求ID、执行时间、内存使用等详细信息

控制台日志查看

  1. 登录云开发控制台
  2. 进入对应的云函数管理页面
  3. 点击「日志」标签页
  4. 选择时间范围查看日志记录

控制台日志界面

日志信息说明

每条日志记录包含以下信息:

  • 时间戳:函数执行的具体时间
  • 请求ID:唯一标识一次函数调用
  • 执行状态:成功或失败状态
  • 执行时长:函数执行耗时
  • 内存使用:函数运行时的内存占用
  • 日志内容:函数中 console.log 等输出的内容

日志最佳实践

结构化日志记录

在函数代码中使用结构化的日志记录方式:

exports.main = async (event, context) => {
const requestId = context.requestId;

// 记录请求开始
console.log(JSON.stringify({
level: 'INFO',
requestId,
message: '函数开始执行',
timestamp: new Date().toISOString(),
event: event
}));

try {
// 业务逻辑
const result = await processData(event);

// 记录成功结果
console.log(JSON.stringify({
level: 'INFO',
requestId,
message: '函数执行成功',
result: result
}));

return result;
} catch (error) {
// 记录错误信息
console.error(JSON.stringify({
level: 'ERROR',
requestId,
message: '函数执行失败',
error: {
message: error.message,
stack: error.stack
}
}));

throw error;
}
};

日志级别使用

合理使用不同的日志级别:

// 普通信息
console.log('普通日志信息');

// 重要信息
console.info('重要信息级别日志');

// 警告信息
console.warn('警告级别日志');

// 错误信息
console.error('错误级别日志');
注意事项
  • 避免在日志中记录敏感信息(如密码、密钥等)
  • 合理控制日志输出量,避免产生过多日志
  • 使用结构化日志格式,便于后续分析和处理

监控数据

云开发提供了丰富的监控指标,帮助开发者了解云函数的运行状况和性能表现。

监控指标

云函数监控包含以下核心指标:

  • 调用次数:函数被调用的总次数
  • 运行时间:函数执行的平均时间和最大时间
  • 错误次数:函数执行失败的次数
  • 成功率:函数执行成功的百分比
  • 内存使用:函数运行时的内存占用情况
  • 并发数:同时执行的函数实例数量

控制台监控查看

  1. 登录云开发控制台
  2. 进入对应的云函数管理页面
  3. 点击「监控」标签页
  4. 选择时间范围查看监控数据
  5. 点击「导出数据」可以导出监控数据

控制台监控界面

监控功能特点

  • 多时间维度:支持查看不同时间范围的监控数据
  • 图表展示:直观的图表展示各项指标趋势
  • 数据导出:支持导出监控数据进行离线分析
  • 实时更新:监控数据实时更新,反映最新状态