Вы не можете создать экземпляр Database Logger из конфигурации Ini.
Либо настройте Logger в Bootstrap в методе _initLog
, либо расширьте обычный класс Zend_Log, чтобы использовать адаптер DB по умолчанию, или лучше, например, для адаптера DB, указанного в application.ini.
Смотрите здесь:
А если вам интересно, почему он не работает из application.ini:
Плагин Log Resource вызовет метод Zend_Log::factory
, который, в свою очередь, проверит определенный вами Writer, а затем вызовет метод factory
этого Writer для создания нового экземпляра Writer. Но Zend_Log_Writer_Db
ожидает, что первый аргумент его конструктора будет Zend_Db_Adapter
экземпляром, но он не будет применять его.
Вы не можете предоставить экземпляр из INI-файла. Автор проверяет, установлено ли свойство _db при попытке записи, и выдает исключение, когда оно пустое. Но вы указали строку для свойства, поэтому _db не равно NULL и не выдаст. Вместо этого при попытке записи ваш писатель выдаст $this->_db->insert()
, что приведет к ошибке, поскольку _db должен быть пропущенным Zend_Db_Adapter
, но является строкой, например, не объект.
Подробнее см. Метод factory () и _write ():