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手册及PHP编程标准
Dec 17 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
WordPress判断用户是否登录的代码
Mar 17 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
基于PHP生成静态页的实现方法
May 10 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
zf框架的校验器InArray使用示例
Mar 13 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
May 20 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 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 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
详解Python self 参数
2019/08/30 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
自我鉴定思想方面
2013/10/07 职场文书
总经理秘书工作职责
2013/12/26 职场文书
园林技术个人的自我评价
2014/01/08 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
遗失说明具结保证书
2015/02/26 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL
Elasticsearch 聚合查询和排序
2022/04/19 Python