/** * @param Exception $exception */ public function logException(Exception $exception) { $formatter = new CM_ExceptionHandling_Formatter_Plain_Log(); try { if ($exception instanceof CM_Exception) { $log = $exception->getLog(); $metaInfo = $exception->getMetaInfo(); } else { $log = new CM_Paging_Log_Error(); $metaInfo = null; } $log->add($formatter->formatException($exception), $metaInfo); } catch (Exception $loggerException) { $logEntry = '[' . date('d.m.Y - H:i:s', time()) . ']' . PHP_EOL; $logEntry .= '### Cannot log error: ' . PHP_EOL; $logEntry .= $formatter->formatException($loggerException); $logEntry .= '### Original Exception: ' . PHP_EOL; $logEntry .= $formatter->formatException($exception) . PHP_EOL; $logFile = $this->_getLogFile(); $logFile->ensureParentDirectory(); $logFile->append($logEntry); } }