热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Yii框架怎么实现日志操作

使用Yii框架怎么实现日志操作?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题

使用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(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;,true);

     


     使用Yii框架怎么实现日志操作
     
     


  • 使用第三方插件.

    8.1 去官网下载代码.

    http://www.yiiframework.com/extension/yii-debug-toolbar/

    放入 extensions 目录下
     添加配置。
     

    &#39;log&#39;=>array(
      &#39;class&#39;=>&#39;CLogRouter&#39;,
      &#39;routes&#39;=>array(
        array(
          &#39;class&#39;=>&#39;ext.yii-debug-toolbar.YiiDebugToolbarRoute&#39;,     
           &#39;ipFilters&#39;=>array(&#39;192.168.1.*&#39;),
        ),

     



     

    调整数据库配置。
     

    &#39;db&#39;=>array(
    	//...
          &#39;enableProfiling&#39;=>true,
          &#39;enableParamLogging&#39;=>true,
          
    		),

     


     使用Yii框架怎么实现日志操作
     使用Yii框架怎么实现日志操作
     使用Yii框架怎么实现日志操作

看完上述内容,你们掌握使用Yii框架怎么实现日志操作的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程笔记行业资讯频道,感谢各位的阅读!


推荐阅读
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 本文介绍如何使用MFC和ADO技术调用SQL Server中的存储过程,以查询指定小区在特定时间段内的通话统计数据。通过用户界面选择小区ID、开始时间和结束时间,系统将计算并展示小时级的通话量、拥塞率及半速率通话比例。 ... [详细]
  • 本文详细探讨了Java中的ClassLoader类加载器的工作原理,包括其如何将class文件加载至JVM中,以及JVM启动时的动态加载策略。文章还介绍了JVM内置的三种类加载器及其工作方式,并解释了类加载器的继承关系和双亲委托机制。 ... [详细]
  • 探讨了在使用Layui框架时,如何处理表格中固定列与其他列行高不一致的情况,提供了有效的解决方案。 ... [详细]
  • 本文深入探讨了服务器的主要作用,包括加速访问、增强安全性和绕过访问限制等,并详细介绍了如何正确配置代理服务器。 ... [详细]
  • 详解Linux中的mount命令及其应用
    本文旨在深入解析Linux系统中的mount命令,涵盖其基本用法及高级特性,如挂载各种存储设备和网络文件系统。适合初学者及有一定经验的技术人员学习。 ... [详细]
  • 这是一个基于 React 构建的掘金移动版应用,主要模仿了掘金的 UI 设计,并进行了部分自定义调整。项目专注于移动端体验,同时支持服务端渲染和渐进式网络应用(PWA)功能。 ... [详细]
  • Vue 移动端实现侧边滑出菜单功能
    本文详细探讨了如何在 Vue 移动端应用中实现侧边滑出菜单的效果,包括代码实例和样式设置,旨在为开发者提供实用的开发技巧。 ... [详细]
  • Vue 中安装 less-loader 时遇到的问题与解决方法
    本文详细探讨了在 Vue 项目中安装 less-loader 遇到的常见问题及其解决策略,旨在帮助开发者有效解决依赖安装失败的情况。 ... [详细]
  • 本文旨在分享将Hadoop集群从Windows环境迁移到Linux环境过程中遇到的技术难题及其解决方案,以帮助同行或未来的学习者避免类似问题。 ... [详细]
  • 本文介绍了如何在Vue项目中通过路由配置和组件缓存,实现在用户点击返回按钮时,页面能够保持之前的状态和数据。 ... [详细]
author-avatar
手机用户2602916275
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有