Zend Framework kullanarak her günlük arama için dinamik özel bir olay öğeleri ayarlayın

0 Cevap php

Biz birkaç farklı "Watchdog" veritabanı tabloları güncellemek için Zend_Log sınıfını kullanarak konum (farklı olay günlüğe: çalışan Toplu komut, yeni veriler, oluşturulan dosyaları, vb işleniyor).

İşte benim geçerli kod (sorunu önce ben sabitleme içine arıyorum.) Olduğunu

$writer = new Zend_Log_Writer_Db($db, 'watchdog', array(
    'priority'  => 'priority',
    'message'   => 'message',
    'owner'     => 'owner',
));

$logger = new Zend_Log($writer);
$logger->setEventItem('owner', 'MODULE_NAME');

Bu mükemmel çalışıyor. Ama olay sırasında time() için bir çağrıdır, bir veritabanı sütunu denilen datetime eklemek istiyorum. Yani, teorik olarak, bu gibi bir şey olurdu:

$writer = new Zend_Log_Writer_Db($db, 'watchdog', array(
    'priority'  => 'priority',
    'message'   => 'message',
    'owner'     => 'owner',
    'datetime'  => 'datetime',
));

$logger = new Zend_Log($writer);
$logger->setEventItem('owner', 'MODULE_NAME');
$logger->setEventItem('datetime', time());

Ben çalıştırıyorum sorun belli, zaman çağrısı () Zend_Log::setEventItem Zend_Log::info() çağrıldığında denir ve değil ilk anda çalışır olmasıdır. Yani, soru nasıl time() Zend_Log::info() çağrıldığında denilen ve benim DB saklanabilir alabilirim, değil mi? Ben bir daha özel bir sınıf ile Zend_Log_Writer_Db uzatmak gerekir mi?

0 Cevap