我想将日志消息存储在单独的日志文件中,而不是默认的/protected/runtime/application.log文件中。
我的config/main.php文件类似
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning,info,trace',
'categories'=>'system.*',
),
我的日志消息功能在这里使用
public function changeLanguage($localLanguage)
{
$currentLanguage=yii::app()->language;
yii::app()->language=$localLanguage;
$message='langusge changed from '.$currentLanguage.' to '.$localLanguage;
$level='info';
$category='system.web.CController';
Yii::log($message, $level, $category);
}
此日志消息与我的许多其他消息一起存储在application.log中。所以我想要一个单独的文件作为我的更改语言函数日志。
您需要定义一个额外的日志路由,指定一个不同的日志文件名:
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'categories'=>'system.*',
),
array(
'class'=>'CFileLogRoute',
'logFile'=>'custom.log',
'categories'=>'custom.*',
),
)
)
更多详细信息可以在最终指南的日志记录部分找到。