Yii 日志 图文详解 [实例]

  1. 将日志记录到文本中.

          Yii::log("test");  //写入测试日志

    //找到配置文件 component->log 
    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'warning,error,info’ ,
             ),
    


  2. 将指定的categories下的日志,写入到指定的文件夹中
    Yii::log("test my cate" ,  CLogger::LEVEL_INFO , "debug");

    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            //...
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'info,trace',
                'categories'=> 'debug.*',
                'logFile'=> date("Y-m-d").'debug.log',
              ),
    

  3. 将日志写入到firebug console 中去.// chorme console 也可以用
    Yii::log("test in console" ,  CLogger::LEVEL_INFO , "debug");
    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CWebLogRoute',
                'categories'=>'debug',
                'levels'=>'info,trace',
                'showInFireBug'=>true,
            ),
    

  4. 追踪sql 查询.
    4.1 首先调整db  r s

    首先,将db 的配置调整。

    	'db'=>array(
    	      //....
                'enableParamLogging'=>true,
               
    	),
    


    一段执行sql 的语句。
    $cmd = Yii::app()->db->createCommand();
    $sql = "select id,username from {{users}} limit 5 ";
    $cmd->setText($sql);
    $rows = $cmd->queryAll();
    


    //日志配置。

    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'categories'=>'system.db.CDbCommand.*,
                'logFile'=> date("Y-m-d").'db.log',
            ),



    同理,如果需要将日志写入firebug ,配置调整为即可.

    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CWebLogRoute',
                'categories'=>'system.db.CDbCommand.*,
                'showInFireBug'=>true,
            ),
    




  5. 直接在页面上查看数据库查询.

    5.1 db 配置设enableProfile 为true.  同四。
    配置如下。

    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class' => 'CProfileLogRoute',
                'levels'=>'profile,info,trace,warning,error',
            ),
    

    去行查询后。[使用4的查询] 结果如下图。



  6. 查看程序段中的运行性能.

    配置和5一样。

    Yii::beginProfile("t1");
        for( $i=0;$i<100000;$i++) { $t = $i;}
    Yii::endProfile("t1");
    



  7. 如果希望日志追踪的更详细,

    //进入 index.php 将debug 打开
     defined('YII_DEBUG') or define('YII_DEBUG',true);
    



  8. 使用第三方插件.

    8.1 去官网下载代码.

    http://www.yiiframework.com/extension/yii-debug-toolbar/

    放入 extensions 目录下
    添加配置。

    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'ext.yii-debug-toolbar.YiiDebugToolbarRoute',          
                  'ipFilters'=>array('192.168.1.*'),
            ),
    


    调整数据库配置。
    'db'=>array(
    	//...
                'enableProfiling'=>true,
                'enableParamLogging'=>true,
               
    		),






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值