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+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
有关PHP性能优化的介绍
Jun 20 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
php解析非标准json、非规范json的方式实例
Dec 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
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
php 字符串替换的方法
2012/01/10 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
python实现矩阵打印
2019/03/02 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
python 实现控制鼠标键盘
2020/11/27 Python
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
小学生读书活动总结
2014/06/30 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
全国劳模先进事迹材料(2016精选版)
2016/02/25 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python