筋斗云接口编程 / 日志与调试

来源:互联网 发布:皮具加工 软件 编辑:程序博客网 时间:2024/04/29 20:51

日志与调试

输出日志可以用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来指定应用版本名。
0 0
原创粉丝点击