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 获取可变函数参数的函数
Aug 26 PHP
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
PHP 第一节 php简介
Apr 28 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
Dec 14 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 PHP
PHP RabbitMQ消息列队
May 11 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的cms
2010/12/19 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python异步存储数据详解
2019/03/19 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
初中高效课堂实施方案
2014/02/26 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
个人求职信格式范文
2015/03/20 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
初三毕业感言
2015/07/31 职场文书
初中团委工作总结
2015/08/13 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers