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的计数器程序
Oct 09 PHP
扩展你的 PHP 之入门篇
Dec 04 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
PHP可变变量学习小结
Nov 29 PHP
Yii调试查看执行SQL语句的方法
Jul 15 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 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为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
php学习之变量的使用
2011/05/29 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
一个基于jquery的图片切换效果
2010/07/06 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
《三袋麦子》教学反思
2014/03/02 职场文书
质量主管工作职责
2014/09/26 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
师德师风个人总结
2015/02/06 职场文书
中学教师个人总结
2015/02/10 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
安全教育的主题班会
2015/08/13 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js