سؤال

قمت بتعيين سجلاتي في bootstrap.php مثل ذلك:

 $logger = new Zend_Log();
    if($environment->debug == '1')
    {
        $stream = @fopen('/var/www/html/rta/rta.log','a',false);
        if(!$stream){ throw new Exception('Failed to open log stream'); }
        $writer = new Zend_Log_Writer_Stream($stream);
        $logger->addWriter($writer);
        $logger->addWriter(new Zend_Log_Writer_Firebug());
    }
    else
    {
        // Do something else
    }
    Zend_Registry::set('logger',$logger);

لدي الرمز التالي الذي قمت بإعداده للفشل:

$data = array(
            'config_id'      => $config->getConfigId(),
            'pass_column'    => $config->getPassColumn(),
            'filename'       => $config->getFilename(),
            'date_format'    => $config->getDateFormat(),
            'mapping_config' => $config->getMappingConfig(),
            'config_name'    => $config->getConfigName(),
            'client_id'      => $config->getClientId(),
            'description'    => $config->getDescription(),
        );

        $where = $this->getDbTable()->getAdapter()->quoteInto('config_id = ?',$config->getConfigId());
        $where = null;
        try
        {
            $this->getDbTable()->update($data,$where);
        }catch(Exception $e)
        {
            Zend_Registry::get('logger')->err('Could not update configuration.');
            Zend_Registry::get('logger')->err($e);
            return false;
        }
        return true;

قمت بتعيين اثنين من كتاب السجل: دفق و firpepp. تم اكتشاف كاتب سجل الدفق بنجاح وكتب الاستثناء ولكن Firpephp لم يفعل أي شيء. إذا وضعت رسائل سجل أخرى أماكن أخرى في الكود الخاص بي ، مثل indexAction إنه يظهر هؤلاء على ما يرام في كليهما. هل فاتني شيء؟

تعديلرمز الفشل موجود في خريطة قاعدة البيانات الخاصة بي ، وليس وحدة تحكم. هل يمكن أن يكون لا يمكنه الوصول إلى رؤوس HTTP؟

هل كانت مفيدة؟

المحلول

يوضح المثال التالي أدناه كيفية جعل Firmepp تحصل على معلومات الرأس التي يحتاجها دون استخدام Frontcontroller.

    // create the logger and log writer
    $writer = new Zend_Log_Writer_Firebug();
    $logger = new Zend_Log($writer);

    // get the wildfire channel
    $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();

    // create and set the HTTP response
    $response = new Zend_Controller_Response_Http();
    $channel->setResponse($response);

    // create and set the HTTP request
    $channel->setRequest(new Zend_Controller_Request_Http());

    // record log messages
    $logger->info('info message');
    $logger->warn('warning message');
    $logger->err('error message');

    // insert the wildfire headers into the HTTP response
    $channel->flush();

    // send the HTTP response headers
    $response->sendHeaders();
?>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top