Yii框架日志操作图文与实例详解


Posted in PHP onSeptember 09, 2019

本文实例讲述了Yii框架日志操作。分享给大家供大家参考,具体如下:

将日志记录到文本中.

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

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

Yii框架日志操作图文与实例详解

  • 将指定的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',
         ),

    Yii框架日志操作图文与实例详解
  • 将日志写入到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,
        ),

    Yii框架日志操作图文与实例详解
  • 追踪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',
        ),

    Yii框架日志操作图文与实例详解

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

    'log'=>array(
      'class'=>'CLogRouter',
      'routes'=>array(
        array(
          'class'=>'CWebLogRoute',
          'categories'=>'system.db.CDbCommand.*,
          'showInFireBug'=>true,
        ),
    Yii框架日志操作图文与实例详解

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

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

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

    去行查询后。[使用4的查询] 结果如下图。 Yii框架日志操作图文与实例详解

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

    配置和5一样。
    Yii::beginProfile("t1");
      for( $i=0;$i<100000;$i++) { $t = $i;}
    Yii::endProfile("t1");

    Yii框架日志操作图文与实例详解

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

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

    Yii框架日志操作图文与实例详解
  • 使用第三方插件.

    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,
          
    		),

    Yii框架日志操作图文与实例详解
    Yii框架日志操作图文与实例详解
    Yii框架日志操作图文与实例详解

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
PHP制作图型计数器的例子
Oct 09 PHP
基于mysql的论坛(6)
Oct 09 PHP
php+mysql分页代码详解
Mar 27 PHP
PHP 采集心得技巧
May 15 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 PHP
PHP模型Model类封装数据库操作示例
Mar 14 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 #PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 #PHP
Yii框架常见缓存应用实例小结
Sep 09 #PHP
Yii框架函数简单用法分析
Sep 09 #PHP
Yii框架的路由配置方法分析
Sep 09 #PHP
PHP实现时间日期友好显示实现代码
Sep 08 #PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 #PHP
You might like
PHP Class&amp;Object -- 解析PHP实现二叉树
2013/06/25 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
python多进程操作实例
2014/11/21 Python
python中lambda与def用法对比实例分析
2015/04/30 Python
python读取和保存视频文件
2018/04/16 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
基于python3的socket聊天编程
2020/02/17 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
大学生工作推荐信范文
2013/12/02 职场文书
机械系毕业生求职信
2014/05/28 职场文书
大学生学习计划书
2014/09/15 职场文书
入党群众意见范文
2015/06/02 职场文书
Tomcat用户管理的优化配置详解
2022/03/31 Servers