位置: 编程技术 - 正文

详解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怎样使用)

  • 个税手续费返还要交企业所得税吗
  • 补缴以前年度增值税和罚款、滞纳金的所得税处理
  • 结转销售成本的分录
  • 一般纳税人如何注销
  • 企业收到生育津贴但不发给员工怎么办
  • 企业生产过程中执行标准要把握好以下原则
  • 债权转增资本应缴纳什么税
  • 房地产老项目增值税简易计税
  • 劳务支付
  • 公司基本账户销户需要带什么资料
  • 银行贴现差额部分计入什么科目?
  • 收到外商投入资金
  • 异地上班员工报销路费
  • 扶贫算出差吗
  • 企业从政府取得的经济资源,如果与企业销售商品
  • 如何算清楚公司的账
  • 企业扣税账户没钱交税会怎么样?
  • 进项明细和开票明细不一致怎么办
  • 垫资的利息的合法区间
  • 会议案例分析题及答案
  • 小额纳税人可以开6%专票吗
  • 公司收境外汇款
  • 房地产停车场属于公共配套设施吗
  • 合伙企业收到对公转账
  • 发票的开具时效为
  • 企业未成立工会需要交工会经费吗
  • 外管证预缴增值税怎么抵扣
  • 成本的分类有哪些如何分类
  • 利尼扬蒂野生动物保护区中的一只雄性豹子,博茨瓦纳 (© Karine Aigner/Tandem Stills + Motion)
  • 净资产和净利润一样吗
  • 境外服务费代扣代缴所得税
  • code editing
  • 增值税留抵税额可以结转下一年吗
  • js处理表格数据
  • php搜索功能怎么实现
  • 房地产企业预缴增值税会计处理
  • 固定资产增值税税率是多少
  • 日记账的定义
  • 怎么样确认
  • 物业公司都有什么
  • mysql的命名规则
  • 制作海报属于什么行业
  • sql server 实例
  • 出口企业申报退税不再提供纸质
  • 写字楼租金
  • 分公司可以在银行贴现吗
  • 股东权益合计是所有者权益总和么
  • 以前年度错误账务处理
  • 以资抵债如何实现债权和物权的转
  • 估价入账的账务处理
  • 利润表主营业务收入怎么算
  • 固定资产减值准备一经计提不得转回
  • 农民农作物补偿标准文件
  • 新注册企业实收资本没到账怎么处理
  • 探望公司员工现金费用报销怎么写
  • 建筑业属于货物经营吗
  • 失控发票已补税及滞纳金后还有事吗
  • 建筑业营改增的主要内容
  • 存货跌价准备怎么结转成本
  • 税务会计应该设什么岗位
  • 一个企业至少应纳多少税
  • sql集合包含关系
  • windows自带的几个软件
  • Win10系统任务栏一直转圈
  • win8旗舰版官方下载
  • ubuntu无线网卡驱动离线安装
  • win8.1开机慢
  • json的用法
  • js闭包的理解详解
  • linux生成网卡配置文件
  • css渐变文本效果在哪
  • 局域网如何打开共享文件夹
  • listview item
  • js 在线调试
  • node.js的安装步骤
  • 怎样开启javascript功能
  • 怎样学好js中的逻辑
  • 国家税务局总局政策咨询
  • 安徽省地方税务局刘利庆
  • 纳税申报的期限是多久
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设