ThinkPHP调试模式与日志记录概述


Posted in PHP onAugust 22, 2014

本文所述为ThinkPHP调试模式与日志记录的使用方法,该功能在进行ThinkPHP项目开发的过程中起到非常重要的作用,有必要加以理解并掌握。具体方法如下:

1、可以在config.php中进行设置,默认为关闭状态。

开启方法如下:

'APP_DEBUG'  => true

打开\ThinkPHP\Common\debug.php文件可以查看debug的默认设置如下:

return array(
  'LOG_RECORD'=>true, // 进行日志记录
  'LOG_RECORD_LEVEL'    =>  array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允许记录的日志级别
  'DB_FIELDS_CACHE'=> false, //数据库字段缓存
  'SHOW_RUN_TIME'=>true,     // 运行时间显示
  'SHOW_ADV_TIME'=>true,     // 显示详细的运行时间
  'SHOW_DB_TIMES'=>true,     // 显示数据库查询和写入次数
  'SHOW_CACHE_TIMES'=>true,    // 显示缓存操作次数
  'SHOW_USE_MEM'=>true,      // 显示内存开销
  'SHOW_PAGE_TRACE'=>true,    // 显示页面Trace信息 由Trace文件定义和Action操作赋值
  'APP_FILE_CASE' =>  true, // 是否检查文件的大小写 对Windows平台有效
);

注意事项:DB_FIELDS_CACHE数据库字段缓存默认关闭状态,如果开启的话,会在Runtime\Data文件夹下生成文件缓存,并且修改表之后,如新加了字段,这个缓存无法记录你的操作,需要我们手动删除一次,对表的修改才会成功。

将'APP_DEBUG'   =>  true后,访问页面会出现如下图的DEBUG提示:

ThinkPHP调试模式与日志记录概述

如果只想显示一部分提示信息,如运行时间,内存开销等,

可以在config.php中进行相应的设置即可,如:

//'APP_DEBUG'  => true, // 调试模式开关
'SHOW_RUN_TIME' => true, //运行时间显示
'SHOW_ADV_TIME' => true, //显示详细的运行时间
'SHOW_DB_TIMES' => true, //显示数据库的操作次数
'SHOW_CACHE_TIMES'=>true, //显示缓存操作次数
'SHOW_USE_MEM' => true, //显示内存开销

提示信息如下图:

ThinkPHP调试模式与日志记录概述 

2、页面Trace信息的自定义:\ThinkPHP\Tpl\PageTrace.tpl.php

自定义的方法一:在config.php的同级目录加上一个trace.php文件,代码如下:

<?php
 return array{
  '当前的server信息'=>$_SERVER['REMOTE_ADDR'],
 };
?>

自定义的方法二:在Action方法中添加:

$this->trace('调试测试','5211314');

3、输出调试法:

halt('aaaaaaa');//输出aaaaaa并且中断程序执行

4、模型调试:显示SQL语句

$User=new Model('User');
 $User->find(1);
 echo $User->getLastSql();//输出最后执行的一条SQL语句

5、日志记录\ThinkPHP\Lib\Think\Core\Log.class.php

  config.php中设置

'LOG_RECORD'=>true,//开启了日志记录
 'LOG_RECORD_LEVEL'=>array('EMERG','ALERT','ERROR'),

希望本文所述方法对大家有所帮助。

PHP 相关文章推荐
学习使用curl采集curl使用方法
Jan 11 PHP
php模拟js函数unescape的函数代码
Oct 20 PHP
Yii分页用法实例详解
Dec 04 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
学习php设计模式 php实现访问者模式(Visitor)
Dec 07 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
php连接oracle数据库的核心步骤
May 26 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 #PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 #PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 #PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 #PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 #PHP
ThinkPHP验证码和分页实例教程
Aug 22 #PHP
ThinkPHP文件上传实例教程
Aug 22 #PHP
You might like
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
装饰活动策划方案
2014/02/11 职场文书
运动会演讲稿
2014/05/07 职场文书
推荐信范文大全
2015/03/27 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
python 安全地删除列表元素的方法
2022/03/16 Python