$eventsManager->attach('dispatch:beforeException', function ($event, $dispatcher, $exception) use($di) { if ($exception instanceof \Phalcon\Mvc\Dispatcher\Exception) { switch ($exception->getCode()) { case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND: //2 //2 case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND: //5 $di->getShared('session')->set('error_redirect_url', $di->get('request')->getURI()); $di->getShared('session')->set('error_exception_code', $exception->getCode()); $logInfo = '[404] '; $logInfo .= '[File] ' . $exception->getFile(); $logInfo .= ', [Line] ' . $exception->getLine(); $logInfo .= ', [Mes] ' . $exception->getMessage(); $logInfo .= ', [URI] ' . $di->get('request')->getURI(); $logInfo .= ', [ModuleName] ' . $dispatcher->getModuleName(); $logInfo .= ', [ControllerName] ' . $dispatcher->getControllerName(); $logInfo .= ', [ActionName] ' . $dispatcher->getActionName(); $logger = $di->getShared('logger_error'); $logger->log($logInfo, \Phalcon\Logger::ERROR); $di->get('response')->redirect('/home/error/show404'); return false; } } $logInfo = '[500] '; $logInfo .= '[File] ' . $exception->getFile(); $logInfo .= ', [Line] ' . $exception->getLine(); $logInfo .= ', [Mes] ' . $exception->getMessage(); $logInfo .= ', [URI] ' . $di->get('request')->getURI(); $logger = $di->getShared('logger_error'); $logger->log($logInfo, \Phalcon\Logger::ERROR);