6

API 呼び出しのログを有効にする方法はありますか?

ストアとの連携に問題があるサードパーティ アプリケーションがあり、デバッグ情報を取得したいと考えています。~検索しましたが、何も見つかりませんでした。

1.7を使用しています

4

3 に答える 3

9

制御された期間、次のように 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();

その迅速で汚いですが、アドホックデバッグでは機能します

于 2015-05-11T14:46:59.570 に答える
1

非常に優れたソリューションは、API プロキシを使用することです。思ったほど複雑ではありません。これは、通常の API URL の代わりに API 呼び出しを指す PHP スクリプトです。アイデアは、通常の magento API に渡す前に、すべての着信 API 要求をログに記録するというものです。また、応答をクライアントに返す前にログに記録します。

私が過去に多くの API の問題を診断するために使用した既製のものがここにあります。 http://techcolin.net/2011/11/a-php-proxy-script-for-logging-magento-api-soap-calls/

于 2013-10-08T00:05:23.270 に答える
0

に似た単純なバックエンド設定を意味する場合

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

これにより、いいえ、Magento OOB にはそのような機能はありません。

PHP デバッガーを使用し、API 呼び出しからサード パーティ アプリ呼び出しまでのシングル ステップを使用することをお勧めします。

Mage::log()または、その API 呼び出しと一緒に呼び出しを一時的に挿入し、関心のあるデータをログに記録var/system.logして、何が問題なのかを確認できるようにします。

于 2012-08-23T08:25:10.610 に答える