laravel记录mysql日志最便捷的办法

2023-12-13 06:47:51

因为页面执行的sql很多,因此决定记录一下执行的sql语句。最简便快速的方式就是使用下面的代码:

app\Providers\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");
        });

然后在laravel.log里面就能看到下面的日志了,非常的方便。
在这里插入图片描述

文章来源:https://blog.csdn.net/zhezhebie/article/details/134832081
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。