本地运行云函数时,日志直接输出到HBuilderX底部「控制台」面板,显示uni-app源码位置(如cloudfunctions/test/index.js:5:12),无需Source Map;需安装「uniCloud本地运行插件」且HBuilderX≥2.8.1。

云函数日志必须在运行时实时查看,本地调试和云端部署的日志获取路径、时效性、源码映射能力完全不同——不能等报错后再翻控制台,更不能靠 console.log 打印后手动截图排查。
本地运行云函数时,日志在哪看?
本地运行(即点击“本地运行云函数”或 Ctrl+R 选择该模式)的日志直接输出到 HBuilderX 底部的「控制台」面板,且默认显示 uni-app 源码位置(如 cloudfunctions/test/index.js:5:12),无需 Source Map 配置。
- 确保已安装「uniCloud 本地运行插件」,HBuilderX 版本 ≥ 2.8.1(旧版本只输出编译后路径)
- 若控制台无输出,检查云函数入口是否用了
exports.main = async (event, context) => { ... }标准格式,console.error和console.warn同样会回显 - 参数传入靠
${函数名}.param.json文件,修改后需重新触发本地运行,否则日志里看到的event还是旧值
上传到云端后,日志怎么查?
上传并运行云函数后,日志不会出现在 HBuilderX 控制台,必须进 uniCloud Web 控制台查看,且仅保留最近 7 天(免费版)或 30 天(付费版)的执行记录。
- 打开 uniCloud 控制台 → 选择对应服务空间 → 「云函数」→ 点击函数名 → 「调用日志」页签
- 每条日志包含时间戳、执行耗时、返回状态码、
console输出内容,但不带源码行号(和本地运行不同) - 如果日志为空,常见原因是:函数未真正被调用(前端
uniCloud.callFunction调用失败静默吞掉)、函数抛出未捕获异常直接退出、或环境选错(开发/生产环境隔离)
真机调试时,云函数日志能回显吗?
不能。HBuilderX 的日志回显功能(2025 年 3 月起支持)仅适用于运行到小程序开发者工具的场景,真机预览时所有 console 输出都只能在手机端「调试器」或微信开发者工具的「真机调试」面板里看,且无法回溯到 .vue 或 .js 源文件位置。
- 真机上
console.log仍有效,但堆栈信息是压缩后的路径(如miniprogram_npm/uni-cloud-sdk/index.js),定位困难 - 避免依赖真机日志做主调试手段;关键逻辑务必加
try/catch+uniCloud.callFunction上报错误详情到云数据库 - 若需长期追踪,可在云函数里主动写日志到云数据库:
await db.collection('function_logs').add({ ... })
最容易被忽略的是:本地运行和云端日志的上下文完全隔离——本地日志里能看到 context 的完整结构,而云端日志中 context 只有 ENV 和 CLIENTIP 等有限字段,getRemainingTimeInMillis() 这类方法在本地不可用,但云端超时判断全靠它。


















