ZendFramework日志错误

时间:2012-04-03 18:34:02

标签: php zend-framework logging

我正在尝试轻松记录所有应用程序错误。 ZendFramework有一个可以执行此操作的插件,还是可以本机执行此操作?

4 个答案:

答案 0 :(得分:6)

输入您的配置:

phpSettings.log_errors = 1
phpSettings.error_log = "/path_to_yours_application_logs/php.log"

这会将所有错误日志放到php.log文件中。这是生产环境中的常用方法。

答案 1 :(得分:1)

Zend包含重定向到ErrorController的标准错误处理插件。 这是两个解决方案:

  1. 创建Zend_Controller_Plugin_ErrorHandler并在bootstrap / controller
  2. 中注册
  3. 创建自定义PHP error handler

答案 2 :(得分:1)

您也可以在控制器中使用

try{
} catch(Zend_Exception $e){
    echo $e->getMessage
    (or log errors in log file using Zend_Log) 
}

Zend_Log

Zend_Exception

答案 3 :(得分:0)

记录所有错误类型(也是PHP致命错误):

    register_shutdown_function( 'myErrorHandler' );
    function myErrorHandler() {
      $error = error_get_last();
      if( $error !== NULL) {
        getMyZendLogger->log("got error: ".$error["message"], Zend_Log::ERR);
      }
    }

请参阅How do I catch a PHP Fatal Error

Zend_Log :: registerErrorHandler()(Zend-FW 1.12)捕获并非所有错误