2007年11月22日木曜日

Zend_Logで行く3

[Zend_Logで行く3]
Zend_Logの続き。
1でやろうと思ってたプライオリティ毎のメソッド。もちろん、既存のlogメソッドもOK。
あっさり考えるえだけならちょろいか。
Zend_Loader::loadClass('Zend_Log');
class BaseLog extends Zend_Log{
    public function log($message, $priority){
        //独自の実装
        parent::log($message, $priority);
    }

    public function debug($message){
        //独自の実装
        $this->log($message,Zend_Log::DEBUG);
    }

    public function info($message){
        //独自の実装
        $this->log($message,Zend_Log::INFO);
    }
    ・
    ・
    ・
    public function emergency($message){
        //独自の実装
        $this->log($message,Zend_Log::EMERG);
    }

}
使う場合はZend_Logのlogの代わりに以下を実行で。
$logger = new BaseLog();
    ・
    ・
    ・
$logger->debug('debug message');
$logger->info('Informational message');
$logger->notice('notice message');
$logger->warn('warning message');
$logger->error('error message');
$logger->emergency('emergency message');
あとログを取る時にファイル名、行が欲しいと思ったりしたら以下
を追記
$tmpDbBckTrc = debug_backtrace();
$preFileInfo = $tmpDbBckTrc[0];
$this->setEventItem('file',basename($preFileInfo['file']));
$this->setEventItem('line',$preFileInfo['line']);
もちろんformatに%file%、%line%が入っているの前提。
重くなりそうなので、デバッグあたりに突っ込むか。いや、
使わないほうが良いのかな。。。
今日の日付は2008/5/20
プライオリティ毎のメソッドを用意しようと思ったら。
実はすでにZend_Logはフォローしてあったのね(^^;
最近になって気付いた、、、恥ずかしいorz
素の状態で$logger->debug()とかできちゃいました。

0 件のコメント :

コメントを投稿