实例详解laravel使用中间件记录用户请求日志

发布时间 - 2022-04-26 00:00:00    点击率:

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

【相关推荐:laravel视频教程】

一、创建中间件

  • 可以使用命令创建, 也可以直接创建
php artisan make:middleware 中间件名称(TraceRecordMiddleware)

二、注册中间件

  • 因为不同版本的laravel注册中间价的方式不同, 这里以5.6版本为例
  • 直接在项目 bootstarp/app.php 中添加以下代码即可
$app->middleware([
     App\Http\Middleware\TraceRecordMiddleware::class
 ]);

三、记录用户访问日志

  • 其实中间价可以理解为请求拦截器
  • 所以可以拦截用户请求前的数据, 以及用户请求后的响应数据
  • 以下为基础的中间价模版
class TraceRecordMiddleware
{
    public function handle(Request $request, \Closure $next)
    {
        $response = $next($request);

        return $response;
    }
}

四、记录用户响应前数据

  • 你只需要记录用户访问了哪些路由, 而不关系系统返回了哪些数据的话
 $request->getMethod(),
            'secure' => $request->getScheme(),
            'uri' => $request->getRequestUri(),
            'port' => $request->getPort()
        ]);

        return $next($request);
    }
}

五、记录用户响应后数据

  • 有时候你想要知道用户请求后, 系统返回了什么数据的话
 json_encode($request->all(), JSON_UNESCAPED_UNICODE),
            'response' => $response->getContent() ?: '',
            'status' => $response->getStatusCode()
        ]);

        return $response;
    }
}

六、记录用户详情日志

  • 有时候你需要知道是哪些用户访问的
  • 也可以直接获取session数据
 $session->get('user_info.id', '未知'),
            'username' => $session->get('user_info.username', '未知'),
            'method' => $request->getMethod(),
            'secure' => $request->getScheme(),
            'uri' => $request->getRequestUri(),
            'response' => $response->getContent() ?: '',
            'status' => $response->getStatusCode()
        ]);

        return $response;
    }
}

【相关推荐:laravel视频教程】


# laravel  # 可以直接  # 你想  # 而不  # 带来了  # 给大家  # 要知道  # 可以使用  # 为例  # 相关知识  # 你只需要 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: MySQL查询结果复制到新表的方法(更新、插入)  如何彻底卸载建站之星软件?  如何在Windows 2008云服务器安全搭建网站?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Bootstrap整体框架之JavaScript插件架构  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  js实现点击每个li节点,都弹出其文本值及修改  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  微信小程序 scroll-view组件实现列表页实例代码  Python正则表达式进阶教程_复杂匹配与分组替换解析  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  如何用已有域名快速搭建网站?  详解jQuery停止动画——stop()方法的使用  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Linux系统命令中tree命令详解  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  实例解析Array和String方法  浅谈javascript alert和confirm的美化  免费视频制作网站,更新又快又好的免费电影网站?  JS碰撞运动实现方法详解  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  如何在阿里云服务器自主搭建网站?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何使用模型观察者?(Observer代码示例)  JavaScript中的标签模板是什么_它如何扩展字符串功能  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel安装步骤详细教程_Laravel环境搭建指南  linux写shell需要注意的问题(必看)  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Internet Explorer官网直接进入 IE浏览器在线体验版网址  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  成都网站制作公司哪家好,四川省职工服务网是做什么用?  详解jQuery中的事件  如何在Windows环境下新建FTP站点并设置权限?  如何确认建站备案号应放置的具体位置?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法