在配置文件(config/main.php)类似如下配置日志
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning,trace', ), array( 'class'=>'CProfileLogRoute', ), array( 'class'=>'CWebLogRoute', 'levels'=>'error,warning,trace', 'categories'=> 'orders.*', 'logFile'=> 'orders.log', ), ), ),
日志路由class:
信息级别levels:
trace
: 这是在 Yii::trace 中使用的级别。它用于在开发中
跟踪程序的执行流程。
info
: 这个用于记录普通的信息。
profile
: 这个是性能概述(profile)。下面马上会有更详细的说明。
warning
: 这个用于警告(warning)信息。
error
: 这个用于致命错误(fatal error)信息。
分类categories:
可以自定义,但在输出函数里要对应才会被写入日志里
(例如上边写的是 cool.* 和 system.db.* ,就会把相应分类的信息写入日志,请结合下文来理解)
设置完了,就可以用写入日志的函数来记录了:
Yii::trace('My log message.','cool.pd');
//cool.pd属于cool.*分类,所以会被写入日志
Yii::log('My log message.','info','cool.collectpd');
//log定义级别为info,结合上文,第一个logclass会忽略,不会被写入文件,但会被第二个logclass接收,写入日志在网络下方显示。
trace()和log()的区别:
trace()只会在调试模式下生效,即开启debug的时候
trace()不分level,但log()能设置levels参数