Magento API日志

时间:2012-08-23 04:31:35

标签: magento

有没有办法打开API调用的日志记录?

我们有第三方应用程序在使用我们的商店时遇到问题,并希望获得一些调试信息。 〜我已经搜索过什么都找不到。

我正在使用1.7

3 个答案:

答案 0 :(得分:9)

在一段受控的时间内,您可以像这样操作index.php:

将此代码放在:: run call:

周围的index.php的末尾
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();

它的快速和肮脏,但对于特殊调试,它可以工作

答案 1 :(得分:1)

一个非常好的解决方案是使用API​​代理。它并不像听起来那么复杂。它只是一个PHP脚本,您指向API调用而不是普通的API URL。 我们的想法是在将每个传入的API请求传递到普通的magento API之前记录它们。 它还会在将响应传递回客户端之前记录响应。

这里有一个现成的,我过去用它来诊断许多API问题。 http://techcolin.net/2011/11/a-php-proxy-script-for-logging-magento-api-soap-calls/

答案 2 :(得分:0)

如果你的意思是一些简单的后端设置与

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

由此,然后不,Magento OOB中没有这样的功能。

我建议使用PHP调试器,然后单步通过API调用第三方应用程序调用。

或者在API调用的同时临时插入Mage::log()个调用,记录感兴趣的数据,以便您可以检查var/system.log出现的问题。