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 相关文章推荐
Apache设置虚拟WEB
Oct 09 PHP
一个简单的自动发送邮件系统(一)
Oct 09 PHP
PHP中基本符号及使用方法
Mar 23 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
php的POSIX 函数以及进程测试的深入分析
Jun 03 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
微信获取用户地理位置信息的原理与步骤
Nov 12 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 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
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
php之可变变量的实例详解
2017/09/12 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
Final类有什么特点
2012/04/25 面试题
个人求职信范文分享
2013/12/13 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
岗位聘任书范文
2014/03/29 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
python实现监听键盘
2021/04/26 Python
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL