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

编程入门 行业动态 更新时间:2024-10-26 12:26:25

筋斗云<a href=https://www.elefans.com/category/jswz/34/1771365.html style=接口编程 / 日志与调试"/>

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

日志与调试

输出日志可以用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来指定应用版本名。

更多推荐

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

本文发布于:2024-02-10 16:26:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676215.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   筋斗云   日志

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!