首页 > 开发 > ThinkPHP > 正文

ThinkPHP调试模式与日志记录

2024-09-09 15:20:06
字体:
来源:转载
供稿:网友

1、可以在config.php中进行设置,默认为关闭状态,'APP_DEBUG'   =>  true,打开/ThinkPHP/Common/debug.php文件可以查看debug的默认设置如下:

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

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

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

如果只想显示一部分提示信息,如运行时间,内存开销等,可以在config.php中进行相应的设置即可,如:

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

提示信息如下图:

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

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

  1. <?php 
  2.   return array
  3.     '当前的server信息'=>$_SERVER['REMOTE_ADDR'], 
  4.   }; 
  5. ?> 

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

$this->trace('我很丑,但是我很温柔','5211314');

3、输出调试法:

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

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

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

5、日志记录/ThinkPHP/Lib/Think/Core/Log.class.php,config.php中设置:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选