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 相关文章推荐
php创建sprite
Feb 11 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
举例详解PHP脚本的测试方法
Aug 05 PHP
win7安装php框架Yii的方法
Jan 25 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
php+ajax简单实现全选删除的方法
Dec 06 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
Apr 05 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 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效率,提高php性能的一些方法
2011/03/24 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python文件和目录操作函数小结
2014/07/11 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
Python 多线程的实例详解
2017/09/07 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python实现简单http服务器
2018/04/12 Python
python3实现windows下同名进程监控
2018/06/21 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
python实现剪切功能
2019/01/23 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
给领导的检讨书
2014/02/16 职场文书
新春联欢会主持词
2014/03/24 职场文书
五年级学生评语
2014/04/22 职场文书
我的长生果教学反思
2014/04/28 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
高中数学教学反思范文
2016/02/18 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python