You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.3 KiB
54 lines
1.3 KiB
<?php
|
|
|
|
namespace app\admin\middleware;
|
|
|
|
use app\utility\BusinessLog;
|
|
|
|
class AdminLog
|
|
{
|
|
|
|
/**
|
|
* 处理请求
|
|
*
|
|
* @param \think\Request $param
|
|
* @param \Closure $next
|
|
* @return Response
|
|
*/
|
|
public function handle($request, \Closure $next)
|
|
{
|
|
//得到要log的数据
|
|
$adminId = $request->user_id;
|
|
$pathInfo = $request->pathinfo();
|
|
$host = $request->server("HTTP_HOST");
|
|
$uri = $request->server("REQUEST_URI");
|
|
$ua = $request->server("HTTP_USER_AGENT");
|
|
$ip = $request->ip();
|
|
|
|
//request参数 url上参数
|
|
$requestData = $request->request();
|
|
|
|
//body请求参数
|
|
$param = $request->param();
|
|
|
|
//放入数组
|
|
$content = [
|
|
"admin_id" => $adminId,
|
|
"host" => $host,
|
|
"uri" => $uri,
|
|
"ua" => $ua,
|
|
"ip" => $ip,
|
|
"request_param" => json_encode($requestData),
|
|
"body_param" => json_encode($param),
|
|
"path_info" => '/' . $pathInfo,
|
|
"create_date" => date("Y-m-d"),
|
|
"create_time" => date("Y-m-d H:i:s")
|
|
];
|
|
|
|
//log
|
|
$log = new BusinessLog();
|
|
$log->log($content);
|
|
|
|
//返回
|
|
return $next($request);
|
|
}
|
|
}
|
|
|