Laravel 输入SQL语句到日志

2019-04-12  本文已影响0人  敦敦实实

我的博客主页:笔头博客

在AppServiceProvider.php中的boot方法中添加如下代码

DB::listen(function ($query) {
        $tmp = str_replace('?', '"'.'%s'.'"', $query->sql);
        $qBindings = [];
        foreach ($query->bindings as $key => $value) {
                if (is_numeric($key)) {
                        $qBindings[] = $value;
                } else {
                        $tmp = str_replace(':'.$key, '"'.$value.'"', $tmp);
                }
        }
        $tmp = vsprintf($tmp, $qBindings);
        $tmp = str_replace("\\", "", $tmp);
        \Log::info(' execution time: '.$query->time.'ms; '.$tmp."\n\n\t");
});
上一篇 下一篇

猜你喜欢

热点阅读