Chciałem sobie rozszeżyć klasę logera na dodatkowe opcje więc przerobiłem ją tak
<?php class logger extends Zend_Log_Writer_Stream { private $_file; public function __construct($filename) { $path = APPLICATION_PATH . '/log/' . $filename . '.txt'; chmod($path, '755'); } } public function info($mess, $prior = 1) { $log = new Zend_Log(new Zend_Log_Writer_Stream($this->_file)); $log->log($mess, $prior); } } ?>
Wywołanie w skócie wygląda tak
require_once '../library/Logger.php'; class models_jakastabela extends Zend_Db_Table_Abstract { private $_logger; public function __construct() { parent::__construct(); $logger = new logger('db'); $this->_logger = $logger; } public function addSettings($data) { 'idproducts' => $data['idproducts'], 'idatribute' => $data['idatribute'], 'column' => $data['column'] ); try { $this->insert($data); return 1; } catch (Zend_Db_Exception $e) { $this->_logger->info('Add atrib: ' . $e->getMessage()); return 0; } }
I niestety to skutkuje takim błędem o ile wyjątek się wykona "Resource id #xx" cannot be opened with mode "a",
Wszystko stoi na windowsie, dodam jeszcze bo to ważne, że dane w pliku w tym przypadku db.txt zapisują się. Więc nie wiem czemu tak się dzieje?
Będe wdzięczny za pomoc i uwagi co do samej klasy, bo nie jestm pewien czy nie można jej ładnej napisać.
Pozdrawiam
Oskar