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

5年以前  |  阅读数:267 次  |  编程语言:PHP 

本文所述为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提示:

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

可以在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, //显示内存开销

提示信息如下图:

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例