ThinkPHP调试模式与日志记录概述
author:一佰互联 2019-04-28   click:272

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

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

开启方法如下:

"APP_DEBUG"  => true

打开ThinkPHPCommondebug.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数据库字段缓存默认关闭状态,如果开启的话,会在RuntimeData文件夹下生成文件缓存,并且修改表之后,如新加了字段,这个缓存无法记录你的操作,需要我们手动删除一次,对表的修改才会成功。

将"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信息的自定义:ThinkPHPTplPageTrace.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、日志记录ThinkPHPLibThinkCoreLog.class.php

  config.php中设置

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

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