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 23 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
PHP之生成GIF动画的实现方法
Jun 07 PHP
PHP 转义使用详解
Jul 15 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP中phar包的使用教程
Jun 14 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
Laravel 批量更新多条数据的示例
Nov 27 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
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
JS实现多功能计算器
2020/10/28 Javascript
python字符串,数值计算
2016/10/05 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
python求前n个阶乘的和实例
2020/04/02 Python
Python字符串及文本模式方法详解
2020/09/10 Python
python中如何打包用户自定义模块
2020/09/23 Python
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
护理专业自荐信范文
2014/02/26 职场文书
护士自我鉴定总结
2014/03/24 职场文书
食品安全宣传标语
2014/06/07 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python
详解flex:1什么意思
2022/07/23 HTML / CSS