Laravel 开启sql调试
2023-06-13 09:15:44 时间
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/288
1.在config/database.php添加以下内容
'enableQueryLog' => env('ENABLE_QUERY_LOG',false),
2.打开app\Providers\AppServiceProvider.PHP,在boot方法中添加如下内容
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB;
public function boot()
{
if (config('database.enableQueryLog')) {
DB::listen(
function ($sql) {
foreach ($sql->bindings as $i => $binding) {
if ($binding instanceof \DateTime) {
$sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
} else {
if (is_string($binding)) {
$sql->bindings[$i] = "'$binding'";
}
}
}
// Insert bindings into query
$query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql);
$query = vsprintf($query, $sql->bindings);
Log::info('查询语句耗时 - ' . $sql->time . ' 毫秒 ', [
'链接名称' => $sql->connectionName,
'Sql语句' => $query
]);
}
);
}
}
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/288
相关文章
- 不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]
- 模块驱动调试记录 ——platform_driver_register
- VUE调试工具
- 什么是pl/sql语句_过程化SQL有三种循环结构
- Microsoft SuperPreview for IE:最好的 IE 调试工具
- SQL与Oracle的差异:开发者的宝藏(sql和oracle的区别)
- Linux下的图形调试技术指南(linux图形调试工具)
- MySQL查询功能:学会使用SQL语句(mysql查询sql语句)
- Linux C语言调试技巧分享(linuxc调试工具)
- 调试Linux下使用GDB快速调试程序(linux下gdb)
- SQL与Oracle:比较与实现(sql与oracle)
- MySQL创建视图的SQL语句实例分析(mysql创建视图的sql语句)
- MySQL备份SQL:确保数据安全(mysql备份sql)
- 高效调试的技巧:Linux下使用PHP(linuxphp调试)
- SQL与MSSQL:各有自身特性的不同之处(sql与mssql的区别)
- Oracle 分区SQL提高查询效率(oracle分区sql)
- MySQL 递归 SQL:解决复杂问题的绝佳武器。(mysql 递归 sql)
- MySQL中使用SQL剪切实现数据处理(mysql中sql剪切)
- 调试中服务器连接Redis遇到问题(服务器连接不上redis)
- 调试无果无法连接至Redis服务器(无法连接至redis)
- MySQL数据库不支持断言语句限制测试与调试(mysql不支持断言)
- 排列走进Oracle SQL中的顺序之门(oracle sql顺序)
- 使用Oracle SQL实现数据脱敏(oracle sql脱敏)
- SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
- C++调试追踪class成员变量的方法