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 相关文章推荐
php 禁止页面缓存输出
Jan 07 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHPEXCEL 使用小记
Jan 06 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
Yii框架form表单用法实例
Dec 04 PHP
php $_SESSION会员登录实例分享
Jan 19 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 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
第十一节 重载 [11]
2006/10/09 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
html5菜单折纸效果
2014/04/22 HTML / CSS
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
后勤主管岗位职责
2014/03/01 职场文书
企业元宵节主持词
2014/03/25 职场文书
营业用房租赁协议书
2014/11/26 职场文书
初婚初育证明范本
2015/06/18 职场文书
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
canvas实现贪食蛇的实践
2022/02/15 Javascript
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL