Kein admin logs for exceptions oder ich habe was übersehen?

Hallo zusammen,

nach dem Update auf CE 4.10.8 und Shop-patch auf php7.2 hat grundsätzlich alles gepasst. Es kommt jetzt ab und zu Problemchen wegen coding-standards: php 7 erlaubt anscheinend keine function calls mit fehlenden Argumenten und wirft dann Exceptions jetzt. So weit so gut, Problem ist nur, wenn es passiert, so ein Exception kommt nicht in den üblichen Log von oxid, EXCEPTION_LOG.txt. Ich habe dann in xDebug mal die Zeilen durch und erst dann das Problem gefunden.

Meine Frage: warum wird das Exception nicht aufgenommen? In oxexceptionhandler.php habe ich folgendes gefunden:

protected function _dealWithNoOxException($oEx)
{
if (0 != $this->_iDebug) {
$sLogMsg = date(‘Y-m-d H:i:s’) . $oEx . “\n---------------------------------------------\n”;
//deprecated since v5.3 (2016-06-17); Logging mechanism will be changed in 6.0.
oxRegistry::getUtils()->writeToLog($sLogMsg, $this->getLogFileName());

Also es scheint alle Nicht-oxException wird nur nur in Debugmodus in Log eingeschrieben… Ist es so gewollt? Wie schaltet ich denn den Shop-Debug Modus an?

VG, fire

ich könnte es mir so erklären, dass im exception.log nur Shop-Exceptions erwünscht sind, die auf Fehler bei shop-internen Funktionen hinweisen. Eine nicht-oxid-Exception hätte potenziell zu bedeuten, dass es ein allgemeineres Problem mit PHP Funktionen vorliegt. Das dürte mMn dann aber auch im webserver error log landen.

danke für die Info. Es mag für Sprachen wie Java funktionieren, aber für php ohne compiler-time Typ-check und so weiter ist recht riskant… naja kann ich dann nur selber einbauen.

Übrigens gibt es eine Einstellung im Shop, dass mann die Variable “$this->_iDebug” auf 1 setzt? Oder es ist nur für die Entwickler von oxid vorgesehen?

guck mal in die config.inc.php da ist diese Variable mit der Auflistung aller Optionen, es geht bis 7 oder 8 sogar.

1 Like

wow cool, super vielen Dank! Man wird immer geholfen, Top-Forum :smiley: