我正在尝试轻松地记录所有应用程序错误。ZendFramework是否有一个插件可以做到这一点,或者它可以在本机上做到?
键入您的配置:
phpSettings.log_errors = 1
phpSettings.error_log = "/path_to_yours_application_logs/php.log"
这会将所有错误日志放到php.log文件中。这是生产环境中常见的方法。
Zend包括重定向到ErrorController的标准错误处理插件。这里有两个解决方案:
- 创建Zend_Controller_Plugin_ErrorHandler并在引导程序/控制器中注册
- 创建自定义PHP错误处理程序
您也可以在控制器中使用
try{
} catch(Zend_Exception $e){
echo $e->getMessage
(or log errors in log file using Zend_Log)
}
Zend_Log
Zend_Exception
要记录所有错误类型(也是PHP致命错误):
register_shutdown_function( 'myErrorHandler' );
function myErrorHandler() {
$error = error_get_last();
if( $error !== NULL) {
getMyZendLogger->log("got error: ".$error["message"], Zend_Log::ERR);
}
}
请参阅如何捕获PHP致命错误
Zend_Log::registerErrorHandler()(Zend FW 1.12)未捕获所有错误