Möglichkeiten der Error Loggings
Hinweis: Bitte beachten Sie, dass Sie bei Live-Systemen das Error-Reporting grundsätzlich deaktivieren sollten. Die folgenden Hinweise und Erklärungen sind für Entwicklungssysteme gedacht.
Das Error-Reporting können Sie primär in der Datei /conf/debug.php beeinflussen. (Bis einschließlich Version 4.1.10 waren diese Einstellungen in der /xtCore/main.php - Zeile 33 - 37)
Fehler logging:
// sql log define('_SYSTEM_SQLLOG','false'); define('_SYSTEM_PHPLOG','false');
Art der Ausgabe:
if (!defined('E_DEPRECATED')) define('E_DEPRECATED','8192'); error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); ini_set("display_errors", "1");
Bitte beachten Sie, dass diese Konfigurationen in Zeile 144 - 146 ggf. durch die Konfiguration in der Datenbank überschrieben werden:
( Nur bis zur Version 4.1.00 - Siehe /conf/debug.php bei aktuelleren Versionen )
if(_SYSTEM_DEBUG=='true'){ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); ini_set("display_errors", "1"); }else{ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); ini_set("display_errors", "0"); }
Der Inhalt der Konstante _SYSTEM_DEBUG ergibt sich aus der Option mit dem gleichnamigen config_key in der Tabelle _config.
Tipps:
Sollten Sie im FE des Shops etwas debuggen wollen, empfiehlt es sich auf dem Entwicklungssystem den Code
if(_SYSTEM_DEBUG=='true'){ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); ini_set("display_errors", "1"); }else{ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); ini_set("display_errors", "0"); }
wie folgt anzupassen:
if($_GET['debug']=='true'){ error_reporting(E_ALL); ini_set("display_errors", "1"); }else{ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); ini_set("display_errors", "0"); }
Auf diese Art können Sie die Ausgabe der Fehler über den $_GET-Parameter "debug=true" am einfachsten (und schnellsten) aktivieren.
Soltlen Sie die Errors Logen, finden Sie die Error-Logs befinden sich im Ordner /xtLogs/.
Außerdem finden Sie in der Tabelle "adodb_logsql" noch den Log der ADODB.
System-Logs / Error-Reporting im Backend:
Die Ausgabe von Fehlern im Backend des Shops ist aufgrund des ExtJS Frameworks nicht ganz so einfach. ( IdR führen die php-Fehler zu Syntaxfehlern im Javascript )
Jedoch können Sie das error-Reporting auch für das Backend wie oben beschrieben beeinflussen, hier müssen Sie jedoch die main.php im Verzeichnis /xtFramework/admin/ entsprechend anpassen.
Zusätzlich haben Sie die Möglichkeit Ausgaben in die System-Logs zu schreiben, indem Sie so vorgehen:
global $logHandler; $logHandler->_addLog('class.my_plugin.php','my_plugin_main','',$myEvent_OR_Variable);
Alternativ lässt sich auch Firephp einbinden.