Magento API日志

mitkmikd  于 2022-11-24  发布在  其他
关注(0)|答案(3)|浏览(114)

有没有办法打开API调用的日志记录?
我们有一个第三方应用程序,是有麻烦的工作与我们的商店,并希望得到一些调试信息。~我已经搜索了BT没有找到。
我用的是1.7

qgzx9mmu

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调试,它的工作

628mspwn

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/

zkure5ic

zkure5ic3#

如果您指的是类似于

System -> Configuration -> Developer -> Debug -> Profiler -> Yes

通过这个,那么没有,在Magento OOB中没有这样的功能。
我建议使用一个PHP调试器,并通过API调用第三方应用程序调用单步。
或者临时插入Mage::log()调用和该API调用,记录感兴趣的数据,以便您可以检查var/system.log是否出了问题。

相关问题