最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Laravel框架实现利用监听器进行sql语句记录功能
时间:2022-06-24 17:40:54 编辑:袖梨 来源:一聚教程网
本文实例讲述了Laravel框架实现利用监听器进行sql语句记录功能。分享给大家供大家参考,具体如下:
利用监听器进行sql语句记录
1、监听sql语句的事件类已经定义,直接创建监听器类即可:
# 监听sql make:listener QueryListener --event=IlluminateDatabaseEventsQueryExecuted
2、监听器类代码
./app/Listeners/QueryListener.php
sql);
$log = vsprintf($sql, $event->bindings);
# 此处$uid定义是依赖于中间件记录操作日志代码
$uid = isset($_SERVER['admin_uid']) ? $_SERVER['admin_uid'] : 0;
if('select' != substr($log , 0 , 6)){
if('insert into `operationLog`' != substr($log , 0 , 26)){
$OperationLog = new OperationLog();
$OperationLog->uid = $uid;
$OperationLog->sql = $log;
$OperationLog->input = '';
$OperationLog->save();
}
}
}
}
3、引入监听器
./app/Providers/EventServiceProvider.php
protected $listen = [
...
IlluminateDatabaseEventsQueryExecuted::class => [
'AppListenersQueryListener'
],
...
];
此时进行操作时就会记录sql日志
相关文章
- 失控进化在哪预约 失控进化预约入口官网 12-16
- 失控进化什么时候正式上线手游 手游正式公测时间介绍 12-16
- 空灵诗篇什么时候上线 空灵诗篇上线时间介绍 12-16
- 空灵诗篇在哪预约 空灵诗篇官网预约入口 12-16
- 粒粒的小人国什么时候开服 粒粒的小人国开服时间 12-16
- 三角洲新赛季更新时间 三角洲行动新赛季时长介绍 12-16