首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Yii:log()跟Yii:trace(),日志的使用

2012-09-19 
Yii::log()和Yii::trace(),日志的使用?首先在config文件中设置log?logarray(classCLogRouter,r

Yii::log()和Yii::trace(),日志的使用

?

首先在config文件中设置log

?

                'log'=>array(                    'class'=>'CLogRouter',                    'routes'=>array(                        array(                            'class'=>'CFileLogRoute',                            'levels'=>'error, warning,trace',                        ),                        array(                            'class'=>'CProfileLogRoute',                        ),                        array(                            'class'=>'CWebLogRoute',                            'levels'=>'error, warning,trace',                        ),                    ),                ),
?

?

日志路由class:

?

?

  • CDbLogRoute: 将信息保存到数据库的表中。
  • CEmailLogRoute: 发送信息到指定的 Email 地址。
  • CFileLogRoute: 保存信息到应用程序 runtime 目录中的一个文件中。
  • CWebLogRoute: 将 信息 显示在当前页面的底部。
  • CProfileLogRoute: 在页面的底部显示概述(profiling)信息。


    信息级别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参数

      更详细可参考官方文件:http://www.yiiframework.com/doc/guide/1.1/zh_cn/topics.logging

热点排行