/** * The default error handler action */ public function errorAction() { $this->getLogger()->debug("\n"); $this->getLogger()->debug('ErrorController::errorAction()'); $log = "\n\n************************************************************************\n" . "****************************** EXCEPTIONS *******************************\n" . "************************************************************************\n\n"; $exceptions = $this->getResponse()->getException(); if (is_array($exceptions)) { foreach ($exceptions as $e) { $log .= "--------------------------- EXCEPTION --------------------------\n\n" . "Message: " . $e->getMessage() . "\nLine: " . $e->getLine() . "\nFile: " . $e->getFile(); $log .= "\n\nTrace:\n\n" . $e->getTraceAsString() . "\n\n" . print_r(OSS_Debug::compact_debug_backtrace(), true) . "\n\n"; } } $log .= "------------------------\n\n" . "HTTP_HOST : {$_SERVER['HTTP_HOST']}\n" . "HTTP_USER_AGENT: {$_SERVER['HTTP_USER_AGENT']}\n" . (isset($_SERVER['HTTP_COOKIE']) ? "HTTP_COOKIE: {$_SERVER['HTTP_COOKIE']}\n" : "") . "REMOTE_PORT: {$_SERVER['REMOTE_PORT']}\n" . "REQUEST_METHOD: {$_SERVER['REQUEST_METHOD']}\n" . "REQUEST_URI: {$_SERVER['REQUEST_URI']}\n\n"; $this->getResponse()->setBody('OK: 0'); if (isset($this->view)) { if ($errors = $this->_getParam('error_handler', false)) { $this->getResponse()->clearBody(); switch ($errors->type) { case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: // 404 error -- controller or action not found $this->getResponse()->setRawHeader('HTTP/1.1 404 Not Found'); Zend_Controller_Action_HelperBroker::removeHelper('viewRenderer'); $this->view->display('error/error-404.phtml'); $this->getLogger()->debug($log); break; default: $this->getLogger()->err($log); $this->view->exceptions = $exceptions; break; } } } return true; }
private function log() { $this->getLogger()->debug("\n"); $this->getLogger()->debug('ErrorController::errorAction()'); $log = "\n\n************************************************************************\n" . "****************************** EXCEPTIONS *******************************\n" . "************************************************************************\n\n"; $exceptions = $this->getResponse()->getException(); if (is_array($exceptions)) { foreach ($exceptions as $e) { $log .= "--------------------------- EXCEPTION --------------------------\n\n" . "Message: " . $e->getMessage() . "\nLine: " . $e->getLine() . "\nFile: " . $e->getFile(); $log .= "\n\nTrace:\n\n" . $e->getTraceAsString() . "\n\n" . print_r(OSS_Debug::compact_debug_backtrace(), true) . "\n\n"; } } $log .= "------------------------\n\n" . "HTTP_HOST : {$_SERVER['HTTP_HOST']}\n" . (isset($_SERVER['HTTP_USER_AGENT']) ? "HTTP_USER_AGENT: {$_SERVER['HTTP_USER_AGENT']}\n" : "") . (isset($_SERVER['HTTP_COOKIE']) ? "HTTP_COOKIE: {$_SERVER['HTTP_COOKIE']}\n" : "") . "REMOTE_PORT: {$_SERVER['REMOTE_PORT']}\n" . "REQUEST_METHOD: {$_SERVER['REQUEST_METHOD']}\n" . "REQUEST_URI: {$_SERVER['REQUEST_URI']}\n\n"; $this->getLogger()->err($log); }