【问题标题】:ZendFramework Log ErrorsZendFramework 日志错误
【发布时间】:2012-04-17 11:03:49
【问题描述】:

我正在尝试轻松记录所有应用程序错误。 ZendFramework 是否有插件可以做到这一点,或者它本身可以做到这一点?

【问题讨论】:

标签: php zend-framework logging


【解决方案1】:

输入您的配置:

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

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

【讨论】:

    【解决方案2】:

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

    1. 创建Zend_Controller_Plugin_ErrorHandler并在引导程序/控制器中注册
    2. 创建自定义PHP error handler

    【讨论】:

      【解决方案3】:

      您也可以在控制器中使用

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

      Zend_Log

      Zend_Exception

      【讨论】:

        【解决方案4】:

        记录所有错误类型(也包括 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::r​​egisterErrorHandler() (Zend-FW 1.12) 不能捕获所有错误

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-16
          • 2013-03-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-31
          • 2011-05-31
          相关资源
          最近更新 更多