Protokollierung der API-Aufrufe in Magento

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

Steffen Schmitt Foto

Steffen Schmitt

Software Architect

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 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');
}

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.

 

Jetzt mit einem Magento-Spezialisten sprechen