1. 云栖社区>
  2. PHP教程>
  3. 正文

laravel中把查询数据库的sql写入日志中

作者:用户 来源:互联网 时间:2017-12-01 15:07:09

sql数据库日志查询laravel写入

laravel中把查询数据库的sql写入日志中 - 摘要: 本文讲的是laravel中把查询数据库的sql写入日志中, 1、在app/Providers/EventServiceProvider.php中添加一个触发 protected $listen = [ 'App/Events/SomeEvent' => [

1、在app/Providers/EventServiceProvider.php中添加一个触发

protected $listen = [        'App/Events/SomeEvent' => [            'App/Listeners/EventListener',        ],        <span style="color:#ff0000;">'Illuminate/Database/Events/QueryExecuted' => [            'App/Listeners/QueryListener'        ]</span>    ];
红色是新增的,
然后在listenrs文件夹中创建一个文件<span style="font-family: Arial, Helvetica, sans-serif;">app/Listeners/QueryListener.php</span>
<span style="font-family:Arial, Helvetica, sans-serif;">内容如下</span>
<span style="font-family:Arial, Helvetica, sans-serif;"></span><pre name="code" class="html">class QueryListener{    /**     * Create the event listener.     *     * @return void     */    public function __construct()    {        //    }    /**     * Handle the event.     *     * @param  QueryExecuted  $event     * @return void     */    public function handle(QueryExecuted $event)    {        //        $sql = str_replace("?", "'%s'", $event->sql);        $log = vsprintf($sql, $event->bindings);        Log::info($log);    }}

然后你就能到

storage/logs/laravel.log 查询你的sql了,优化sql合查询bug有很大的帮助。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql , 数据库 , 日志 , 查询 , laravel 写入 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
Kubernetes上基于Istio体验云原生应用实践 资料下载