In
However recently I've noticed a case, where error is happening inside error processing code of kLogger class. PHP threats such case as super-error and doesn't pass it back to kLogger class to prevent recursion. Because of it both errors are not logged:
- error, that happened originally
- error during original error processing in kLogger class
In this case, problem happened because of kBase::__toString method thought, that no harm will come if it calls kBase::getPrefixSpecial method. It turned out, that this method has an descendant in kEventHandler class, that throws an exception at all times. This is actually a protection against developers calling this method by accident and getting incorrect results (because kEvent::getPrefixSpecial method should be used in such cases).
kbase_tostring_exception_fix.patch
Related Tasks