فکر می کنم مطلب مفیدی باشه که تو فروم ندیدم و گفتم براتون بذارم . یه راه ساده برای این کار وجود داره اونم اینه که چون اکثرا کنترلر هامون از کلاس Controler که تو پوشه protected\components ارث بری می کنن پس فقط کافیه چند خط کد به این کلاس اضافه کنیم و تمام
// /protected/components/Controller.php
public $logMessage = NULL;
public $writeLog = false;
protected function afterAction($action)
{
if($this->writeLog)
{
$sql = 'INSERT INTO tbl_logs VALUES (\''.Yii::app()->user->name.'\',\''.$_SERVER['REMOTE_ADDR'].'\',\''.date("Y-m-d H:i:s").'\',\''.$this->getId().'\',\''.$this->getAction()->getId().'\',\''.$this->logMessage.'\')';
$command = Yii::app()->db->createCommand($sql);
$command->execute();
}
}
البته جدول رو هم تو دیتابیس درست کرده باشین . اینم کوئری جدولمون :
CREATE TABLE `tbl_logs` (
`username` varchar(50) NOT NULL,
`ipaddress` varchar(50) NOT NULL,
`logtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`controller` varchar(255) NOT NULL DEFAULT '',
`action` varchar(255) NOT NULL DEFAULT '',
`details` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8