Zend_Log_Writer_Firebug () не работает - PullRequest
2 голосов
/ 16 марта 2011

У меня установлены Firefox 3.6.15, аддоны Firebug и FirePHP, консоль включена.Я использую Zend 1.11.Следующий код ничего не показывает в консоли Firebug.

<?php
    require_once('Zend/Log.php');
    require_once('Zend/Log/Writer/Firebug.php');

    $writer = new Zend_Log_Writer_Firebug();
    $logger = new Zend_Log($writer);

    $logger->info('info message');
    $logger->warn('warning message');
    $logger->err('error message');
?>

Я пробовал с базовой библиотекой FirePHP, и это работает -

<?php
     require_once('FirePHPCore/FirePHP.class.php');
     ob_start();

     $firephp = FirePHP::getInstance(true); 
     $var = array('i'=>10, 'j'=>20);

     $firephp->log($var, 'Iterators');
?>

Хотелось бы, чтобы вещь Zend работала,Есть идеи?

Ответы [ 2 ]

6 голосов
/ 16 марта 2011

Попробуйте с места

$request = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);
//buffering
ob_start();

до сообщения регистратора.

также после

// flushing
$channel->flush();
$response->sendHeaders();
2 голосов
/ 16 марта 2011

Ну, на самом деле главное отличие между двумя фрагментами кода заключается в том, что в коде FirePHP вы включаете буферизацию вывода (с помощью вызова obstart();), а во фрагменте кода Zend Framework - нет.Самый простой способ заставить его работать с Zend, вероятно, установить флаг output_buffering в php.ini на On (вы можете сделать это в своем определении виртуального хоста или htaccess при использовании apache, если вы не хотите устанавливать его глобально).

Я просто использую это в моей Bootstrap:

protected function _initLogger()
{
    $writer = new Zend_Log_Writer_Firebug();
    $logger = new Zend_Log($writer);

    Zend_Registry::set('logger', $logger);
}

, а затем использую Zend_Registry::get('logger')->log(...);, и он работает с включенным output_buffering (FF 3.6.15, Firebug 1.6.2,FirePHP 0.5.0).

...