API 呼び出しのログを有効にする方法はありますか?
ストアとの連携に問題があるサードパーティ アプリケーションがあり、デバッグ情報を取得したいと考えています。~検索しましたが、何も見つかりませんでした。
1.7を使用しています
API 呼び出しのログを有効にする方法はありますか?
ストアとの連携に問題があるサードパーティ アプリケーションがあり、デバッグ情報を取得したいと考えています。~検索しましたが、何も見つかりませんでした。
1.7を使用しています
制御された期間、次のように 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();
その迅速で汚いですが、アドホックデバッグでは機能します
非常に優れたソリューションは、API プロキシを使用することです。思ったほど複雑ではありません。これは、通常の API URL の代わりに API 呼び出しを指す PHP スクリプトです。アイデアは、通常の magento API に渡す前に、すべての着信 API 要求をログに記録するというものです。また、応答をクライアントに返す前にログに記録します。
私が過去に多くの API の問題を診断するために使用した既製のものがここにあります。 http://techcolin.net/2011/11/a-php-proxy-script-for-logging-magento-api-soap-calls/
に似た単純なバックエンド設定を意味する場合
System -> Configuration -> Developer -> Debug -> Profiler -> Yes
これにより、いいえ、Magento OOB にはそのような機能はありません。
PHP デバッガーを使用し、API 呼び出しからサード パーティ アプリ呼び出しまでのシングル ステップを使用することをお勧めします。
Mage::log()
または、その API 呼び出しと一緒に呼び出しを一時的に挿入し、関心のあるデータをログに記録var/system.log
して、何が問題なのかを確認できるようにします。