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 相关文章推荐
NOT NULL 和NULL
Jan 15 PHP
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
JS 网站性能优化笔记
May 24 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
php获取远程文件的内容和大小
Nov 03 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
vue--vuex详解
2019/04/15 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
python基于ID3思想的决策树
2018/01/03 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
一套.net面试题及答案
2016/11/02 面试题
家长会主持词开场白
2014/03/18 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
小平您好观后感
2015/06/09 职场文书
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle