laravel mysql log_如何在Laravel 5中执行查询?DB :: getQueryLog()返回空数组

本文介绍了如何在Laravel 5中启用和使用查询日志,包括通过DB::enableQueryLog()方法、事件监听器、HTTP中间件以及针对CLI的启用策略。同时,提醒了在大量查询或内存敏感场景下使用查询日志的注意事项。
摘要由CSDN通过智能技术生成

默认情况下,Laravel 5中禁用了查询日志:https : //github.com/laravel/framework/commit/e0abfe5c49d225567cb4dfd56df9ef05cc297448

您将需要通过调用以下命令来启用查询日志:

DB::enableQueryLog();

或注册一个事件监听器:

DB::listen(

function ($sql, $bindings, $time) {

//  $sql - select * from `ncv_users` where `ncv_users`.`id` = ? limit 1

//  $bindings - [5]

//  $time(in milliseconds) - 0.38

}

);

一些技巧

1.多个数据库连接

如果您有多个数据库连接,则必须指定要记录的连接

启用查询日志my_connection:

DB::connection('my_connection')->enableQueryLog();

获取以下查询日志my_connection:

print_r(

DB::connection('my_connection')->getQueryLog()

);

2.在哪里启用查询日志?

对于HTTP请求生命周期,可以在handle某些BeforeAnyDbQueryMiddleware 中间件的方法中启用查询日志,然后terminate在同一中间件的方法中检索已执行的查询。</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值