Zend Log - приоритет плохого журнала - PullRequest
0 голосов
/ 09 сентября 2011

Когда я пытаюсь добавить registerErrorHandler () в мою конфигурацию журнала в моей начальной загрузке, это выдает следующую ошибку:

<b>Fatal error</b>:  Uncaught exception 'Zend_Log_Exception' with message 'Bad log priority' in /public/fb/library/Zend/Log.php:280
Stack trace:
#0 /public/fb/application/Bootstrap.php(24):    Zend_Log-&gt;__call('registerErrorHa...', Array)
#1 /public/fb/application/Bootstrap.php(24): Zend_Log-&gt;registerErrorHandler()
#2 /public/fb/library/Zend/Application/Bootstrap/BootstrapAbstract.php(666): Bootstrap-&gt;_initLogging()
#3 /public/fb/library/Zend/Application/Bootstrap/BootstrapAbstract.php(619): Zend_Application_Bootstrap_BootstrapAbstract-&gt;_executeResource('logging')
#4 /public/fb/library/Zend/Application/Bootstrap/BootstrapAbstract.php(583): Zend_Application_Bootstrap_BootstrapAbstract-&gt;_bootstrap(NULL)
#5 /public/fb/library/Zend/Application.php(355): Z in       

<b>/public/fb/library/Zend/Log.php</b> on line    <b>280</b>

Bootstrap.php

protected function _initLogging(){

$log = new Zend_Log();
$writer = new Zend_Log_Writer_Stream(APPLICATION_PATH .'/../data/logs/app.log');
$log->addWriter($writer);
$log->registerErrorHandler();

}

Выходные данные Zend_Debug ::dump ($ log):

object(Zend_Log)#20 (6) {
["_priorities":protected] => array(8) {
[0] => string(5) "EMERG"
[1] => string(5) "ALERT"
[2] => string(4) "CRIT"
[3] => string(3) "ERR"
[4] => string(4) "WARN"
[5] => string(6) "NOTICE"
[6] => string(4) "INFO"
[7] => string(5) "DEBUG"
}
["_writers":protected] => array(1) {
[0] => object(Zend_Log_Writer_Stream)#21 (3) {
["_stream":protected] => resource(59) of type (stream)
["_filters":protected] => array(0) {
}
["_formatter":protected] => object(Zend_Log_Formatter_Simple)#22 (1) {
["_format":protected] => string(51) "%timestamp% %priorityName% (%priority%): %message%"   
}}}
["_filters":protected] => array(0) {
}
["_extras":protected] => array(0) {
}
["_defaultWriterNamespace":protected] => string(15) "Zend_Log_Writer"
["_defaultFilterNamespace":protected] => string(15) "Zend_Log_Filter"
}

Спасибо за помощь.

1 Ответ

1 голос
/ 09 сентября 2011

Ошибка выдается в магическом методе Zend_Log :: __ call ().поскольку __call () используется, это означает, что указанный метод явно не существует в объекте, поэтому PHP вызвал магический метод __call () объекта.

Вы уверены, что в имени нет опечатки?метода прямо там, где вы его вызываете?

Вы уверены, что версия ZF, которую вы используете, на самом деле поддерживает этот метод?Я проверил установку ZF (1.11.4) и в строке 280 файла Zend / Log.php есть что-то еще, не связанное с этой проблемой.

Обновление вашей установки ZF до последней версии может быть полезным.

...