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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
十天学会php之第二天
Oct 09 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
php json转换成数组形式代码分享
Nov 10 PHP
php提取字符串中网站url地址的方法
Dec 03 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
PHP的反射机制实例详解
Mar 29 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
php伪静态验证码不显示的解决方案
Sep 26 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
php实现微信支付之现金红包
2018/05/30 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
JS解密入门之凭直觉解
2008/06/25 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
毕业生求职简历的自我评价
2013/10/07 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
《鲸》教学反思
2016/02/23 职场文书
Django与数据库交互的实现
2021/06/03 Python
css3新特性的应用示例分析
2022/03/16 HTML / CSS