Example #1
0
 /**
  * @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);
     }
 }