/** * @param \Zend\Mvc\MvcEvent $oEvent * @return \BoilerAppLogger\Logger\MvcLogger */ public function logError(\Zend\Mvc\MvcEvent $oEvent) { //Create log error $oLogError = new \BoilerAppLogger\Entity\LogErrorEntity(); if (!($oException = $oEvent->getParam('exception')) instanceof \Exception) { if (!($oResponse = $oEvent->getResponse()) instanceof \Zend\Http\Response) { throw new \LogicException(sprintf('Response expects an instance of \\Zend\\Http\\Response, "%s" given', is_object($oResponse) ? get_class($oResponse) : gettype($oResponse))); } $oException = new \RuntimeException($oEvent->getError(), $oResponse->getStatusCode()); } else { $oLogError->setLogErrorFile($oException->getFile())->setLogErrorLine($oException->getLine()); } $this->getLogErrorRepository()->create($oLogError->setLogErrorMessage($oException->getMessage())->setLogErrorCode($oException->getCode())->setLogErrorTrace($oException->getTraceAsString())->setLogErrorLog($this->getCurrentLog())); return $this; }