Magento API Logging

Gerade wer versucht mittels der Magento API Prozesse zu realisieren, der wird ein Logging zu schätzen wissen.

Hierfür genügen ein paar zusätzliche Zeilen:

In der Datei: app/code/core/Mage/Api/Model/Server/Handler/Abstract.php
findet sich die Funktion call.

Hier einfach ein wenig Logging einfügen.

....
Mage::Log($method,null,'api.log');
Mage::Log($args,null,'api.log');
// Vor diesem Aufruf -- Zeile: 292 (Magento Version 1.6) 
return call_user_func_array(array(&$model, $method), $args);

// so wie
Mage::Log($e->getMessage(),null,'api.log');
Mage::Log($resourceName,null,'api.log');
Mage::Log($e->getCustomMessage(),null,'api.log');
// Vor diesem Aufruf -- Zeile: 298 (Magento Version 1.6) 
return $this->_fault($e->getMessage(), $resourceName, $e->getCustomMessage());

/* Beispielausgabe:

2011-09-07T12:54:43+00:00 DEBUG (7): create
2011-09-07T12:54:43+00:00 DEBUG (7): Array
(
    [0] => 100000435
    [1] => Array
        (
        )

    [2] => 
    [3] => 1
    [4] => 
)

2011-09-07T12:54:44+00:00 DEBUG (7): data_invalid
2011-09-07T12:54:44+00:00 DEBUG (7): sales_order_invoice
2011-09-07T12:54:44+00:00 DEBUG (7): Cannot do invoice for order.
*/

Diesen Beitrag drucken