有没有办法打开API调用的日志记录?我们有一个第三方应用程序,是有麻烦的工作与我们的商店,并希望得到一些调试信息。~我已经搜索了BT没有找到。我用的是1.7
qgzx9mmu1#
在一段可控制的时间内,您可以像这样操作index.php:把这段代码放在index.php的末尾,围绕::run调用:
ob_start(); Mage::run($mageRunCode, $mageRunType); if(preg_match('/api/', $_SERVER['REQUEST_URI'])) { Mage::log('<<< request '.$_SERVER['REQUEST_METHOD'].': '.$_SERVER['REQUEST_URI'], null, 'api.log'); if($_SERVER['REQUEST_METHOD'] == 'POST') { Mage::log('<<< '.file_get_contents('php://input'), null, 'api.log'); } Mage::log('>>> '.ob_get_contents(), null, 'api.log'); } ob_end_flush();
它的快速和肮脏,但为adhoc调试,它的工作
628mspwn2#
一个真正好的解决方案是使用API代理。它并不像听起来那么复杂。它只是一个PHP脚本,你可以将你的API调用指向它,而不是普通的API URL。它的想法是在将每个传入的API请求传递到普通的magento API之前记录它。它还在将响应传递回客户端之前记录它。这里有一个现成的工具,我过去曾用它来诊断许多API问题。http://techcolin.net/2011/11/a-php-proxy-script-for-logging-magento-api-soap-calls/
zkure5ic3#
如果您指的是类似于
System -> Configuration -> Developer -> Debug -> Profiler -> Yes
通过这个,那么没有,在Magento OOB中没有这样的功能。我建议使用一个PHP调试器,并通过API调用第三方应用程序调用单步。或者临时插入Mage::log()调用和该API调用,记录感兴趣的数据,以便您可以检查var/system.log是否出了问题。
Mage::log()
var/system.log
3条答案
按热度按时间qgzx9mmu1#
在一段可控制的时间内,您可以像这样操作index.php:
把这段代码放在index.php的末尾,围绕::run调用:
它的快速和肮脏,但为adhoc调试,它的工作
628mspwn2#
一个真正好的解决方案是使用API代理。它并不像听起来那么复杂。它只是一个PHP脚本,你可以将你的API调用指向它,而不是普通的API URL。它的想法是在将每个传入的API请求传递到普通的magento API之前记录它。它还在将响应传递回客户端之前记录它。
这里有一个现成的工具,我过去曾用它来诊断许多API问题。http://techcolin.net/2011/11/a-php-proxy-script-for-logging-magento-api-soap-calls/
zkure5ic3#
如果您指的是类似于
通过这个,那么没有,在Magento OOB中没有这样的功能。
我建议使用一个PHP调试器,并通过API调用第三方应用程序调用单步。
或者临时插入
Mage::log()
调用和该API调用,记录感兴趣的数据,以便您可以检查var/system.log
是否出了问题。