Laravel中间件记录用户请求日志的过程是什么
Admin 2022-06-15 群英技术资讯 704 次浏览
这篇文章主要介绍“Laravel中间件记录用户请求日志的过程是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel中间件记录用户请求日志的过程是什么”文章能帮助大家解决问题。
php artisan make:middleware 中间件名称(TraceRecordMiddleware)
$app->middleware([
App\Http\Middleware\TraceRecordMiddleware::class
]);<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
/**
* Class TraceRecordMiddleware
* @package App\Http\Middleware
*/
class TraceRecordMiddleware
{
public function handle(Request $request, \Closure $next)
{
$response = $next($request);
return $response;
}
}<?php
namespace App\Http\Middleware;
use App\Model\SystemTraceRecord;
use Illuminate\Http\Request;
/**
* Class TraceRecordMiddleware
* @package App\Http\Middleware
*/
class TraceRecordMiddleware
{
public function handle(Request $request, \Closure $next)
{
//插入数据库日志表
SystemTraceRecord::create([
'method' => $request->getMethod(),
'secure' => $request->getScheme(),
'uri' => $request->getRequestUri(),
'port' => $request->getPort()
]);
return $next($request);
}
}<?php
namespace App\Http\Middleware;
use App\Model\SystemTraceRecord;
use Illuminate\Http\Request;
/**
* Class TraceRecordMiddleware
* @package App\Http\Middleware
*/
class TraceRecordMiddleware
{
public function handle(Request $request, \Closure $next)
{
$response = $next($request);
//响应后插入数据
SystemTraceRecord::create([
'data' => json_encode($request->all(), JSON_UNESCAPED_UNICODE),
'response' => $response->getContent() ?: '',
'status' => $response->getStatusCode()
]);
return $response;
}
}<?php
namespace App\Http\Middleware;
use App\Model\SystemTraceRecord;
use Illuminate\Http\Request;
/**
* Class TraceRecordMiddleware
* @package App\Http\Middleware
*/
class TraceRecordMiddleware
{
public function handle(Request $request, \Closure $next)
{
$response = $next($request);
$session = app('session');
SystemTraceRecord::create([
'user_id' => $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;
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHPfpm和swoole可以共存。在php-fpm中维持TCP长连接主要借助swoole扩展提供的SWOOLE_KEEP选项,客户端设置此选项后,在请求结束时不会关闭连接,新的请求到来后可以复用TCP连接。
在laravel中,路由的作用就是将用户的不同url请求转发给相应的程序进行处理;路由是外界访问laravel应用程序的通路,路由定义了Laravel的应用程序向外界提供服务的具体方式,laravel的路由定义在routes文件夹中。
这篇文章主要介绍了php操作redis数据库常见方法,结合实例形式总结分析了PHP操作redis数据库的基本安装、连接、字符串、哈希表、列表、集合等相关操作技巧,需要的朋友可以参考下
这篇文章主要介绍了php的RSA加密解密算法原理与用法,结合实例形式分析了rsa加密解密算法的相关概念、原理及PHP使用RSA加密解密算法的具体实现技巧,需要的朋友可以参考下
PHP如何编写图形计算器?对四则运算计算器我们都很熟悉了,有些朋友就好奇能不能对图像计算呢?当然是可以的,下面就给大家介绍一下如何实现三角形,矩形和圆形计算的简易计算器
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008