Home  >  Article  >  Backend Development  >  Overview of ThinkPHP debugging mode and logging, thinkphp logging_PHP tutorial

Overview of ThinkPHP debugging mode and logging, thinkphp logging_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:20:11958browse

Overview of ThinkPHP debugging mode and logging, thinkphp logging

This article describes how to use ThinkPHP debugging mode and logging. This function plays a very important role in the development of ThinkPHP projects, and it is necessary to understand and master it. The specific method is as follows:

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

How to enable it:

'APP_DEBUG'  => true

Open the ThinkPHPCommondebug.php file to view the default debug settings 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平台有效
);

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 RuntimeData folder. After modifying the table, if a new field is added, this cache cannot record your operations and we need to manually Modifications to the table will be successful only after deleting it once.

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.,

You can make corresponding settings 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, //显示内存开销

The prompt information is as shown below:

2. Customization of page Trace information: ThinkPHPTplPageTrace.tpl.php

Customized method one: add a trace.php file in the same directory as config.php, the code is as follows:

<&#63;php
 return array{
  '当前的server信息'=>$_SERVER['REMOTE_ADDR'],
 };
&#63;>

Customized method two: add:

in the Action method
$this->trace('调试测试','5211314');

3. Output debugging method:

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

4. Model debugging: display SQL statements

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

5. Logging ThinkPHPLibThinkCoreLog.class.php

Set in config.php

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

I hope the method described in this article will be helpful to everyone.

Where are thinkphp log files stored?

Logging\ThinkPHP\Lib\Think\Core\Log.class.php

1. It can be set in config.php, and it is turned off by default. 'APP_DEBUG' => true

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

return array(

'LOG_RECORD'= >true, // Perform logging

'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO' ,'DEBUG','SQL'), // Allowed logging level
'DB_FIELDS_CACHE'=> false, //Database field cache

'SHOW_RUN_TIME'=>true, // Run Time display
'SHOW_ADV_TIME'=>true, // Display detailed running time
'SHOW_DB_TIMES'=>true, // Display number of database queries and writes
'SHOW_CACHE_TIMES'=>true , // Display the number of cache operations
'SHOW_USE_MEM'=>true, // Display memory overhead
'SHOW_PAGE_TRACE'=>true, // Display page Trace information is defined by the Trace file and assigned by the Action operation
'APP_FILE_CASE' => true, // Whether to check the case of the file is valid for Windows platform
);

Note: DB_FIELDS_CACHE database field cache is turned off by default. If it is turned on, it will be executed at Runtime A file cache is generated in the \Data folder, and after modifying the table, 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.,

You can make corresponding settings in config.php, such as:

//'APP_DEBUG' => true, // Debug mode switch
'SHOW_RUN_TIME' => true , //Display running time
'SHOW_ADV_TIME' => true, //Display detailed running time
'SHOW_DB_TIMES' => true, //Display number...Remaining full text>>
Zhang Haibo [authoritative expert]

THINKPHP calling template and debugging mode

Let me tell you the answer!
No problem, you create an IndexAction.class.php file in Admin/Lib/Action,
display();
}
}
Then create an Index folder in Admin/Tpl, and just create an index.html file in this folder

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/868234.htmlTechArticleOverview of ThinkPHP debugging mode and logging, thinkphp logging This article describes how to use ThinkPHP debugging mode and logging , this function is in the process of developing the ThinkPHP project...
Statement:
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