Magento API-Protokollierung

API-Aufrufe können in Magento mit Hilfe des folgendes Codes hinsichtlich Grund und Uhrzeit protokolliert werden.

Grundsätzlich gibt es keine Funktion in Magento, die Ihnen erlaubt, API-Aufrufe zu zulassen oder zu sperren aber Sie können sich zumindest damit behelfen alle API-Aufrufe zu protokollieren. Dazu öffnen Sie den Pfad:

app/code/core/Mage/Api/Model/Server/Handler/Abstract.php

Scrollen Sie bis zum ersten Code und ersetzen ihn durch den zweiten: 

  if (method_exists($model, $method)) {
        if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
            return $model->$method((is_array($args) ? $args : array($args)));
        } elseif (!is_array($args)) {
            return $model->$method($args);
        } else {
            return call_user_func_array(array(&$model, $method), $args); 
        }      
} else {        throw new Mage_Api_Exception('resource_path_not_callable');
}

Code 2:

if (method_exists($model, $method)) {
        Mage::log($method, null, 'api.log'); //logs the method
        Mage::log($args, null, 'api.log'); //logs the arguments
        if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
            return $model->$method((is_array($args) ? $args : array($args)));
        } elseif (!is_array($args)) {
            return $model->$method($args);
        } else {
            return call_user_func_array(array(&$model, $method), $args);
        }
} else {
        throw new Mage_Api_Exception('resource_path_not_callable');
}

In der Datei: var/log/api.log finden Sie nun Uhrzeit und Grund des API-Aufrufes dritter Personen.