我们在用laravel
操作数库时
经常需要调试sql
语句的输出
有没有办法监听
所有的sql
,同时输出到日志
中,方便查看
在App/Providers/ 目录下有一个 AppServiceProvider.php , 在里面的register 方法上,添加 下面代码:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider {
/**
* Register any application services.
*
* @return void
*/
public function register() {
//
\DB::listen(function ($query) {
$sql=$query->sql;
$bindings=$query->bindings;
$time=$query->time;
\Log::debug(json_encode($query));
\Log::debug(var_export(compact('sql','bindings','time'),true));
});
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot() {
//
}
}
通过上面的配置,就可以在storage/logs/ 的日志中,查看sql语句的输出情况了。
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:laravel监听DB所有的sql输出 出自老鄢博客 | 欢迎分享