Home > Backend Development > PHP Tutorial > ThinkPHP debugging mode and logging overview

ThinkPHP debugging mode and logging overview

不言
Release: 2023-03-30 07:52:01
Original
1613 people have browsed it

This article mainly introduces the usage of ThinkPHP debugging mode and logging. Friends who need it can refer to it

This article describes the usage of ThinkPHP debugging mode and logging. This function is used in ThinkPHP projects. It plays a very important role in the development process and must be understood and mastered. The specific method is as follows:

1. It can be set in config.php, and the default is closed.

The opening method is as follows:

'APP_DEBUG'  => true
Copy after login

Open the \ThinkPHP\Common\debug.php file to view the default settings of debug as follows:

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平台有效
);
Copy after login

Note: DB_FIELDS_CACHE database field cache is turned off by default. If it is turned on, a file cache will be generated in the Runtime\Data folder, and after the table is modified , if a new field is added, this cache cannot record your operations. We need to manually delete it once before the table modification can be successful.

After setting 'APP_DEBUG' => true, the DEBUG prompt as shown below will appear on the access page:

If you only want to display part of the prompt information, such as Running time, memory overhead, etc.,

can be set accordingly in config.php, such as:

//'APP_DEBUG'  => true, // 调试模式开关
'SHOW_RUN_TIME' => true, //运行时间显示
'SHOW_ADV_TIME' => true, //显示详细的运行时间
'SHOW_DB_TIMES' => true, //显示数据库的操作次数
'SHOW_CACHE_TIMES'=>true, //显示缓存操作次数
'SHOW_USE_MEM' => true, //显示内存开销
Copy after login

The prompt information is as follows Picture:

2. Customization of page Trace information: \ThinkPHP\Tpl\PageTrace.tpl.php

Customization Method one: Add a trace.php file in the same directory as config.php, the code is as follows:

<?php
 return array{
  &#39;当前的server信息&#39;=>$_SERVER[&#39;REMOTE_ADDR&#39;],
 };
?>
Copy after login

Customized method two: In Action Add in the method:

$this->trace(&#39;调试测试&#39;,&#39;5211314&#39;);
Copy after login

3. Output debugging method:

 halt(&#39;aaaaaaa&#39;);//输出aaaaaa并且中断程序执行
Copy after login

4. Model debugging: display SQL statements

 $User=new Model(&#39;User&#39;);
 $User->find(1);
 echo $User->getLastSql();//输出最后执行的一条SQL语句
Copy after login

5, logging\ThinkPHP\Lib\Think\Core\Log.class.php

config Set

 &#39;LOG_RECORD&#39;=>true,//开启了日志记录
 &#39;LOG_RECORD_LEVEL&#39;=>array(&#39;EMERG&#39;,&#39;ALERT&#39;,&#39;ERROR&#39;),
Copy after login

in .php. Related recommendations:

Customized error page in ThinkPHP And prompt page

How to set up a custom directory structure in ThinkPHP

The above is the detailed content of ThinkPHP debugging mode and logging overview. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template