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

Laravel记录SQL操作日志的方法

陈杰2个月前 (01-29)PHP530

在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://95shouyou.com/?id=37

分享给朋友:
返回列表

上一篇:利用workerman实现webrtc实时音视频通话

没有最新的文章了...

相关文章

mysql查找附近的人,经纬度查询

经纬度排序mysql函数CREATE DEFINER=`root`@`localhost` FUNCTION `get_distance`(`lon1` float,`lat1` float,`lon...

php对接七牛云短信验证码实战

短信验证码登录的用处非常的大,登录,注册,修改密码,安全相关的啥都可以干。选定的七牛云短信是因为存储也是用的七牛云,七牛的sdk都加载进来了,也懒得去换其他的厂家了。下面上代码:Controller层...

Lumen框架报错Cannot declare class Event, because the name is already in use

Lumen框架报错Cannot declare class Event, because the name is already in use

Lumen框架报错信息Cannot declare class Event, because the name is already in use(1/1) ErrorExceptionCa...

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

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

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

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

laravel集成极光推送实战

公司项目需要用到app推送消息通知,市面上很多推送渠道商,选来选去最终选定了极光推送,因为项目使用laravel写的,laravel自身又有模型事件,所以研究了一下,在不改动原有代码的情况下,给项目加...

发表评论

访客

看不清,换一张

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