当前位置:首页 > PHP > 正文内容

Laravel记录SQL操作日志的方法

陈杰5个月前 (01-29)PHP1072

在laravel中我们有一个需求就是,涉及到sql操作的update,insert,delete操作的语句,我们都要写一个日志来记录一下


说说方法吧。


在项目目录app/Providers/AppServiceProvider.php中添加代码


/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
       DB::listen(function ($query) {
           $tmp    = str_replace('?', '"' . '%s' . '"', $query->sql);
           $tmp    = vsprintf($tmp, $query->bindings);
           $tmp    = str_replace("\\", "", $tmp);
           $action = substr($tmp, 0, 6);
           if ($action == 'update' || $action == 'delete' || $action == "insert") {
               $myfile = fopen("sql.txt", "a+") or die("Unable to open file!");
               fwrite($myfile, $tmp . "   use_time:" . $query->time . "ms   " . date('Y-m-d H:i:s') . " \n\n");
               fclose($myfile);
           }
       });
}


最终在public目录下写入了sql.txt文件中


image.png

扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由何烦过虎溪发布,如需转载请注明出处。

转载请注明出处:http://blog.95shouyou.com/?id=37

分享给朋友:

相关文章

laravel分表model映射的思路

预先估计会出现大数据量并且访问频繁的表,将其分为若干个表这种预估大差不差的,论坛里面发表帖子的表,时间长了这张表肯定很大,几十万,几百万都有可能。 聊天室里面信息表,几十个人在一起一聊一个晚上,时间长...

php对接支付宝转账到第三方接口实战

公司项目有一个用户钱包系统,用户创作的内容可以收到游客的打赏,当然就需要提现的接口了。最终选定的是支付宝转账接口,公司代收账户直接打款给用户绑定的支付宝账号,再也不用人工手动打款了。上代码准备好工具,...

laravel跨库多态关联实战

laravel跨库多态关联实战

点赞记录表做了分库分表,位于副库里面表结构该点赞表关联了8个不同的表,因为业务原因,评论回复表有四个板块,所以做了4个评论记录表,4个回复记录表,且结构有细微不同。目标是用户获得被点赞记录,根据不同的...

七牛云删除文件和批量删除文件

在项目中因为用到了七牛云的对象存储,价格公道,也降低我们的项目维护成本。但是在实际使用过程中,例如用户换了头像我们就需要删除用户之前的头像,以降低我们的存储成本。所以研究了一下七牛云的删除单个文件和批...

laravel实现微信公众号授权登录实战

微信公众号授权登录实战框架:laravel依赖:overtrue/wechat首先安装一下easywechat依赖composer require overtrue/wechat:...

利用workerman实现webrtc实时音视频通话

利用workerman实现webrtc实时音视频通话

实现原理利用workerman的websocket实现实时消息传递。webrtc自带p2p功能,利用STUN中继服务器实现webrtc实时音视频看看我们的前端文件,只是一个单页面<html>...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。