YII1日志功能的使用

  • 1、在项目根目录下的index.php配置如下:
run();

  • 2、在protected/config/main.php配置如下:
        'log'=>array(
            // 信息路由发生在当前请求周期最后的 onEndRequest 事件触发时。 要显式终止当前请求过程,请调用 CApplication::end() 而不是使用 die() 或 exit(),因为 CApplication::end() 将会触发 onEndRequest 事件, 这样信息才会被顺利地记录。
            'class'=>'CLogRouter',
            'routes'=>array(
                array(
                    'class'=>'CFileLogRoute',//它会把信息保存在位于应用程序 runtime 目录中的一个文件中
                    'levels'=>'info, warning',//只有级别为 trace 或 info 
                    'categories' => 'system.*',//分类以 system. 开头的信息才会被保存
                ),
                //开发过程中所有日志直接输出到浏览器了,这样不需要登录服务器看日志了 
                array(
                    'class' => 'CWebLogRoute',
                    // 'categories' => 'test.*',
                    'levels'=>'info, warning',
                    'showInFireBug'=>true,
                    'ignoreAjaxInFireBug' => true,
                ),
                array(
                    'class' => 'CWebLogRoute',
                    'levels'=>'info, warning',
                    // 'categories'=>'test.*',
                ),
                array( 
                   'class'=>'CProfileLogRoute', 
                   // 'levels' => CLogger::LEVEL_PROFILE, 
                   'levels'=>'trace',  //级别为trace 
                   'showInFireBug' => true, 
                   'ignoreAjaxInFireBug' => true, 
                   'categories' => 'system.db.* ', //只记录db的操作日志,其他的忽略 
                ),
                array( 
                    'class'=>'CFileLogRoute', 
                    'levels'=>'trace',  //级别为trace 
                    'categories' => 'system.db.* ', //只记录db的操作日志,其他的忽略 
                    'logFile'=>'db.log', 
                ),
                // uncomment the following to show log messages on web pages
                /*
                array(
                    'class'=>'CWebLogRoute',
                ),
                */
            ),

  • 3、使用事例
        Yii::beginProfile('db', 'example2'); 
        for($i=0;$i<10;$i++){ 
            // $Test = Test::model()->findByPk("1");
            $result = Yii::app()->db_mysql->createCommand("select * from Lang")->queryAll();
        } 
        Yii::endProfile('db', 'example2'); 
        echo 'done';
        Yii::trace('example trace message','example1'); 
        Yii::log("dfdf",CLogger::LEVEL_INFO,"example"); 
        Yii::log('test','info','system.test');

        Yii::beginProfile('db', 'example4'); 
        for($i=0;$i<10;$i++){ 
            $Test = Test::model()->findByPk("1");
            // $result = Yii::app()->db_mysql->createCommand("select * from test")->queryAll();
        } 
        Yii::endProfile('db', 'example4'); 

你可能感兴趣的:(YII1日志功能的使用)