nasıl application.ini gelen zend günlüğüne kurulumu örneği için herhangi bir örnek var mı? Ben sadece bir dosyaya giriş için bir örnek bulduk, ama ben bir SQLite veritabanı tabloya giriş istiyorsun?
İyi bir soru. Ben bir önyükleme yapılandırma gelen Zend_Log_Writer_Db
örneğini için bir yol bulamıyorum. Yazar sınıfı Zend_Db_Adapter
nesnesi gerektirir. Bu bir dize kabul etmez.
ZF proje daha bu kullanım davayı geliştirmesi gerekmektedir. Onlar bile Db yazar include Zend_Application_Resource_Log
için herhangi bir ünite testleri yoktur.
Ben o kadar önerebilirsiniz iyi sen Özyükleme sınıfı _initLog()
yönteminde Log kaynak özelleştirmek gerekiyor.
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initDb()
{
if ($this->hasPluginResource("db")) {
$r = $this->getPluginResource("db");
$db = $r->getDbAdapter();
Zend_Registry::set("db", $db);
}
}
protected function _initLog()
{
if ($this->hasPluginResource("log")) {
$r = $this->getPluginResource("log");
$log = $r->getLog();
$db = Zend_Registry::get("db");
$writer = new Zend_Log_Writer($db, "log", ...columnMap...);
$log->addWriter($writer);
Zend_Registry::set("log", $log);
}
}
}
Burada manual: Eğer ne demek database.Is içine log dosyası yazmak için nasıl bir örnek bulabilirim?
Bu çalışması gerekir - Ben (şimdi benim dev makine değil) tam sonra test edecek
Zend_Application_Resource_Log kurulum application.ini bir Zend_Log bir örneğini olabilir
resources.log.writerName = "db"
resources.log.writerParams.db.adapter = "PDO_SQLITE"
resources.log.writerParams.db.dbname = APPLICATION_PATH "/../db/logdb.sqlite"
resources.log.writerParams.db.table = "log"
ZF 1.10alpha (en azından) bu yana, aşağıdaki gerçek olmuştur.
// e.g. 1 - works
resources.log.firebug.writerName = "Firebug"
// e.g. 2 - fails
resources.log.writerName = "Firebug"
NOT: keyfi dizi anahtarı 'kundakçı'. Zend_Log fabrika kaynağın günlük geneli üzerinde yayıklar zaman örneği 2 basitçe (bir istisna tetikleme) bir dize geçecek iken, örnek 1, Zend_Log-> addWriter bir dizi () (_constructWriterFromConfig tetikleme () yöntemi) olarak geçilecek.
(Ben bu eski olduğunu biliyorum, ve ben bir Kundakçı logger örnek kullanıyorum ama aynı tüm günlük yazarlar için geçerlidir)