实例详解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站点并设置权限?
如何确认建站备案号应放置的具体位置?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法

