关于php:无法记录ThinkPHP51的SQL日志解决方案

3次阅读

共计 872 个字符,预计需要花费 3 分钟才能阅读完成。

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 我的项目开发阶段,除了根本编码外,性能也须要实时关注与优化。之前我的大部分我的项目都是应用 ThinkPHP5.0 以及 ThinkPHP3.2,对于框架提供的日志记录和日志配置都差不多,而后应用 ThinkPHP5.1 的时候就吃瘪,花了十几分钟才好,所以写一下避免前面遗记了再踩坑。

日志配置

&nbsp&nbsp&nbsp&nbsp&nbsp&nbspThinkPHP5.1 没有了 config.php,日志配置独自提出来自成一块,叫 Log.php,这个适应一下就能够。

日志记录

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 在 5.1 以前的我的项目中记录集体调试的日志,都是应用 use think\Log; 而后应用 Log::write()。而后 5.1 的时候引入了 facede,所以间接用以前的形式,不能应用动态调用 write 等办法,批改为 use think\facede\Log,而后再应用。

理论日志配置

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 当须要调试时,app 配置中 ’app_debug’ => true, ‘app_trace’      => true, 调试和追踪开启,浏览器关上会右下角呈现 TP 的 logo 和运行工夫,点击图标会呈现调试明细。

然而有时不会呈现,然而想调试 SQL 以及 SQL 的查问速度,就须要开启日志记录,尽量不要配置保留目录,默认在 runtime 下就能够,也不是因为自定义目录的写入权限问题,所以所有默认就好,先解决问题前面再钻研问题起因,Log.php 配置如下。return [

// 日志记录形式,反对 file socket 或者自定义驱动类
'type' => 'File',
'file_size'     =>2097152,
'apart_level' => ['sql','error'],
// 日志的工夫格局,默认是 ` c `
'time_format'   =>'c'

]; 

当开发阶段完结,不须要除了 error 以外级别的日志,能够在 ”apart_level” 配置只保留 ”error”。

正文完
 0