本文实例讲述了laravel框架实现利用中间件进行操作日志记录功能。分享给大家供大家参考,具体如下:
利用中间件进行操作日志记录过程:
1、创建中间件
php artisan make:middleware adminoperationlog
2、生成了文件./app/http/middleware/adminoperationlog.php
代码如下:
<?phpnamespace app\http\middleware;use closure;use illuminate\http\request;use illuminate\support\facades\auth;use app\http\models\operationlog;class adminoperationlog{ /** * handle an incoming request. * * @param \illuminate\http\request $request * @param \closure $next * @return mixed */ public function handle($request, closure $next) { $user_id = 0; if(auth::check()) { $user_id = (int) auth::id(); } $_server['admin_uid'] = $user_id; if('get' != $request->method()){ $input = $request->all(); $log = new operationlog(); # 提前创建表、model $log->uid = $user_id; $log->path = $request->path(); $log->method = $request->method(); $log->ip = $request->ip(); $log->sql = ''; $log->input = json_encode($input, json_unescaped_unicode); $log->save(); # 记录日志 } return $next($request); }}
3、中间件引入 ./app/http/kernel.php
protected $middlewaregroups = [ 'web' => [ ... \app\http\middleware\adminoperationlog::class, ... ], 'api' => [ 'throttle:60,1', 'bindings', ], ];
此时进行操作时就会记录操作日志
相关推荐:
laravel框架实现利用监听器进行sql语句记录功能
以上就是laravel框架实现利用中间件进行操作日志记录功能的详细内容。
