接口编程 / 日志与调试"/>
筋斗云接口编程 / 日志与调试
日志与调试
输出日志可以用logit函数,将信息输出到后端文件中,默认存在服务目录下的trace.log文件中。
logit("### debug info");
除直接查看文件外,也可以在浏览器中访问 tool/log.php 页面来查看最近的日志。
如果想输出到其它文件,可以在第二个参数中指定,如:
logit("### debug info", "mydebug");
这样调试信息则输出到mydebug.log文件中。
调试时也常常输出日志到返回数据中,以便前端直接查看,可以用addLog函数,它将调试信息追加到JSON格式的返回值后面,这样可兼容筋斗云的返回格式:
addLog("### debug info"); // 调试等级0,只要是测试模式下,总是输出
addLog("### debug info level 1", 1); // 在测试模式下且调试等级>=1时输出。
注意必须在conf.user.php中激活测试模式才能看到日志返回:
putenv("P_TEST_MODE", 1);
测试模式下,输出的JSON串经过美化更易读。
调用接口时添加URL参数_debug
可以设置调试等级,如http://.../api.php/Ordr.add?_debug=1
。
[模拟模式]
系统中集成了第三方的短信发送功能,如何在日常测试时不用真发短信而走通流程,以及如果进行自动化测试?
筋斗云建议,对第三方系统依赖(如微信认证、支付宝支付、发送短信等),应设计模拟接口来模拟。
如果在conf.user.php中配置:
putenv("P_TEST_MODE", 1);
putenv("P_MOCK_MODE", 1);
则激活了模拟模式,注意模拟模式只在测试模式下才生效,这时会走模拟接口。
发送短信后,实际会输出信息到ext日志中,测试时可查看日志ext.log获取,或在线访问tool/log.php查看ext日志。
[API调用监控]
筋斗云默认将接口调用记录到表ApiLog中供分析。
一旦出问题可以根据这张表来追溯原因。也可以用它来作用户访问统计等。其中有很多有用的字段:
- tm: 调用时间。
- addr: 调用者IP地址。
- ua: 浏览器的UserAgent值,可区分设备类型。
- app: 前端应用标识。每个前端H5应用在调用接口时,通过URL参数
_app
来指定应用的名称。 - ses: 会话标识(session id)。
- userId: 操作者编号,可能是用户编号,员工编号等。
- ac: 调用名称。
- t: 调用时长(毫秒)。
- retval: 调用返回码。
- req/res: 请求内容与响应内容,记录最多1K字节。
- reqsz/ressz: 请求与响应的长度。
- ver 前端应用版本。调用接口时通过URL参数
_ver
来指定应用版本名。
更多推荐
筋斗云接口编程 / 日志与调试
发布评论