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变量
Oct 09 PHP
解决php中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
PHP入门之常量简介和系统常量
May 12 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
php数组添加元素方法小结
Dec 20 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 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
javascript下过滤数组重复值的代码
2007/09/10 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
js 窗口抖动示例
2013/09/04 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
python uuid模块使用实例
2015/04/08 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python实现注册登录系统
2017/08/08 Python
Python实现进程同步和通信的方法
2018/01/02 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
音乐教学案例
2014/01/30 职场文书
保证书格式范文
2014/04/28 职场文书
环保倡议书300字
2014/05/15 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
大学生学习计划书
2014/09/15 职场文书
党员评议思想汇报
2014/10/08 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年医药代表工作总结
2014/11/22 职场文书