2011-08-12 9 views
0

私のブートストラップファイルでは、私はロガーを起動し、すべてのものが正常に動作します。私が今必要とするのは、ロガーがzend_authインスタンスから与えられたuser_idも記録するということです。ここで私は開始ロガー:ブートストラップのloggerのzend framework auth

public function _initLogger(){ 

    $resource = $this->getPluginResource('db'); 
$dbAdapter = $resource->getDbAdapter(); 
    $columnMapping = array(
     'level' => 'priorityName', 
     'priority' => 'priority', 
     'message' => 'message', 
     'created' => 'timestamp', 
     'user_agent'=> 'user_agent', 
     'get_vars' => 'get_vars', 
     'post_vars' => 'post_vars', 
     'ip' => 'ip', 
     'id_user' => 'id_user', 
    ); 

    $auth = Zend_Auth::getInstance(); 

    $writerDb = new Zend_Log_Writer_Db($dbAdapter, 'tbl_log', $columnMapping); 
    $logger = new Zend_Log($writerDb); 

    $logger->setEventItem('datetime',date('Y-m-d H:i:s')); 
    $logger->setEventItem('user_agent',$_SERVER['HTTP_USER_AGENT']); 
    $logger->setEventItem('get_vars',print_r($_GET,true)); 
    $logger->setEventItem('post_vars',print_r($_POST,true)); 
    $logger->setEventItem('ip',$_SERVER['REMOTE_ADDR']); 
    $logger->setEventItem('id_user',$auth->getIdentity()->id); 



    $logger->addPriority('login', 10); 
    $logger->addPriority('logout', 11); 
    $logger->addPriority('trans', 12); 
    $logger->addPriority('transfailed', 13); 

    Zend_Registry::set('logger', $logger); 
} 

は、私はエラーを取得していないが、ユーザーIDは、ブートストラップの間に...

+2

var_dump($ auth-> getIdentity())を実行するときには何がありますか。 – yokoloko

+0

はありません... – cwhisperer

答えて

1

を保存または取得されていない、認証情報は利用できません。あなたは、行を追加する必要があります:あなたは(ログインコントローラで)ユーザからのID情報を取得

$logger = Zend_Registry::get('logger'); 

$logger->setEventItem('id_user',$auth->getIdentity()->id); 

後。

関連する問題