位置: 编程技术 - 正文

详解PHP的Yii框架中日志的相关配置及使用(php yii框架)

编辑:rootadmin

推荐整理分享详解PHP的Yii框架中日志的相关配置及使用(php yii框架),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php框架的作用,php框架的作用,php yii框架,php yii框架,php框架的作用,php框架symfony,php框架ci,php yii框架,内容如对您有帮助,希望把文章链接给更多的朋友!

默认的日志是输出到protected/runtime/application.log

如果需要修改那么需要在main.php里面的 components 下面增加log配置,如下:

如果在某处调用了Yii::log("jdkshgds","info",'test.xx');

这个log首先被记录在了内存中一个CLogger类的array中,然后会逐一的判断每个LogRoute,判断是否需要输出,注意是逐一判断,不是其中一个输出下一个就不管了。

拿上面的配置来说:

第一个CFileLogRoute,'categories'=>'test.*',levels里包含了info, test.xx满足条件,所以会执行,将这条log输出到test.log中,然后下一个CWebLogRoute, 'levels' => CLogger::LEVEL_PROFILE,。而这条log是info的,所以不会执行,再下一个CWebLogRoute,'categories' => 'test.* ',levels没指定,那就说不过滤,所以这个也会被执行,所以这条log将被输出到浏览器中。

二、profile功能另外logger还有一个很强大的功能:profile,

这样就能测试这个code block的执行效率了,非常的方便啊。

更详细的配置查看: SQL Executions

很多时候sql语句写的不好会非常影响效率的,但是要确定哪一条语句影响了效率就需要profiling了。YII也提供了这个bug级别的功能。

三、Yii::log()和Yii::trace()的使用首先在config文件中设置log

日志路由class:

CDbLogRoute: 将信息保存到数据库的表中。 CEmailLogRoute: 发送信息到指定的 Email 地址。 CFileLogRoute: 保存信息到应用程序 runtime 目录中的一个文件中。 CWebLogRoute: 将 信息 显示在当前页面的底部。 CProfileLogRoute: 在页面的底部显示概述(profiling)信息。

信息级别levels:

trace: 这是在 Yii::trace 中使用的级别。它用于在开发中 跟踪程序的执行流程。 info: 这个用于记录普通的信息。 profile: 这个是性能概述(profile)。下面马上会有更详细的说明。 warning: 这个用于警告(warning)信息。 error: 这个用于致命错误(fatal error)信息。详解PHP的Yii框架中日志的相关配置及使用(php yii框架)

分类categories:

可以自定义,但在输出函数里要对应才会被写入日志里(例如上边写的是 cool.* 和 system.db.* ,就会把相应分类的信息写入日志,请结合下文来理解)

设置完了,就可以用写入日志的函数来记录了:

trace()和log()的区别:trace()只会在调试模式下生效,即开启debug的时候trace()不分level,但log()能设置levels参数

四、调试sql query每个语句执行的耗时在配置中的log下加上下面这个Route

然后在某个controller的某个action中加入:

Yii::endProfile('db', 'pocketpet');

在浏览器中访问这个action,记得先打开firebug,然后firebug中就能看到如下图的记录:

相同的query会进行归类,计算total和average,这个对于分析还是非常有帮助的。

也可以将db的日志写到文件,配置如下(不建议使用,还是到浏览器用firebug方便):

当然,想要生效还得有下面两步配置:

1 . 记得在index.php, 中加入以下配置

2. 在main.php主配置文件里面,的components db 里将enableProfiling设置为true

Linux系统下使用XHProf和XHGui分析PHP运行性能 什么是性能分析?性能分析是衡量应用程序在代码级别的相对性能。性能分析将捕捉的事件包括:CPU的使用,内存的使用,函数的调用时长和次数,以

PHP的Yii框架的常用日志操作总结 日志Yii提供了一个高度自定义化和高扩展性的日志框架。根据使用场景的不同,你可以很容易的对各种消息就行记录、过滤、合并,比如说文本文件,

PHP判断手机是IOS还是Android 本文介绍了PHP判断手机是IOS还是Android的三个小实例,要判断用户的手机是安卓的还是ios的,搜了一下相关的资料,最终获得的结果分享给大家。实例1:

标签: php yii框架

本文链接地址:https://www.jiuchutong.com/biancheng/281556.html 转载请保留说明!

上一篇:学习php设计模式 php实现模板方法模式(php常用的设计模式在开发中的实例)

下一篇:Linux系统下使用XHProf和XHGui分析PHP运行性能(linux怎样使用)

  • 用于员工福利的进项税转出分录
  • 税后利润向股东分配股息
  • 公益事业捐赠的范围是什么
  • 纸质发票红冲操作流程
  • 增值税发票什么时候认证
  • 减免税款会计分录
  • 外贸公司进项票要专票还是普票
  • 公司注销公司帐户剩的钱怎么办
  • 减免增值税申报表
  • 即征即退项目的进项税额不参与加计抵减
  • 转让不动产取得的发票
  • 天然气安装工程施工劳务协议
  • 在建工程过程中取得收入怎么入账
  • 发票税表抵扣了账务未抵扣账务处理怎么做?
  • 出口供货企业
  • 企业购入物资合同模板
  • 培训费用可以开专票吗
  • 物业费纳税
  • 注册资本 变更
  • 会计利润和税务利润的暂时性差异和永久性差异
  • 对外捐赠的账务处理
  • 销售利润率是什么能力指标
  • 收到无偿划拨的股权如何入账
  • 城市生活垃圾处理方法
  • win10应用图标怎么调出来
  • 桌面图标删不掉怎么回事
  • linux小技巧
  • 进项发票丢失怎么补救
  • ensmix32.exe进程安全吗 ensmix32进程是什么文件产生的
  • php获取api内容
  • php提供了________和___________两种复合数据类型
  • 未确认融资收益怎么理解
  • 新会计准则计入管理费用的税费
  • 长期借款科目的期末余额反映尚未偿还的借款本金
  • devtools无法加载源映射less.map
  • 加德满都治安状况如何
  • symerr函数
  • 购买办公用品怎样写备注
  • 固定资产减值准备可以转回吗
  • php保存远程图片
  • 企业纳税额包括个人所得税吗
  • 定期定额个体户超定额怎样申报
  • 预训练的目的
  • php公众号开发框架
  • php中实现文件上传需要用到哪几个函数
  • 前端经典面试题讲解
  • html流光按钮
  • js中move
  • php的运行环境有哪些
  • 免征个人所得税33种情形
  • 基本户不注销会扣钱吗
  • 以房租入股公司怎么交税
  • 企业营业外收入要交所得税吗
  • 进口环节缴纳关税计入什么科目
  • 行政单位怎样核销坏账
  • 员工工作服扣款
  • 小微企业营业外收入二级科目怎么
  • 所得税汇算清缴前取得跨年发票
  • 主营业务收入一定要结转成本吗
  • 主营业务毛利率和毛利率
  • 坏账准备转回是什么意思
  • sql入门课程
  • won10怎么安装
  • ubuntu20.0安装
  • 怎么调整桌面图标间距
  • cleanmgr.exe
  • win8找不到恢复环境怎么恢复出厂设置
  • js explode
  • cocos studio
  • <Unity UGUI>使用c#反射实现UGUI文本显示的国际化
  • nodejs全局异常监听
  • 关于Python的lambda函数,以下选项
  • Android dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent详解
  • beautiful python
  • 简述javascript
  • python中fd
  • 西安车位过户需要多少费用
  • 盐城城南新区的邮政编码是多少号
  • 税务投诉回访电话号码
  • 事业单位录用备案表审核快吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设