|
@@ -0,0 +1,38 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+namespace App\Http\Middleware;
|
|
|
|
+
|
|
|
|
+use Closure;
|
|
|
|
+use Illuminate\Support\Facades\Log;
|
|
|
|
+
|
|
|
|
+class RequestLog
|
|
|
|
+{
|
|
|
|
+ /**
|
|
|
|
+ * Handle an incoming request.
|
|
|
|
+ *
|
|
|
|
+ * @param \Illuminate\Http\Request $request
|
|
|
|
+ * @param \Closure $next
|
|
|
|
+ * @return mixed
|
|
|
|
+ */
|
|
|
|
+ public function handle($request, Closure $next)
|
|
|
|
+ {
|
|
|
|
+ if (getenv('HTTP_CLIENT_IP')) {
|
|
|
|
+ $ip = getenv('HTTP_CLIENT_IP');
|
|
|
|
+ }
|
|
|
|
+ if (getenv('HTTP_X_REAL_IP')) {
|
|
|
|
+ $ip = getenv('HTTP_X_REAL_IP');
|
|
|
|
+ } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
|
|
|
|
+ $ip = getenv('HTTP_X_FORWARDED_FOR');
|
|
|
|
+ $ips = explode(',', $ip);
|
|
|
|
+ $ip = $ips[0];
|
|
|
|
+ } elseif (getenv('REMOTE_ADDR')) {
|
|
|
|
+ $ip = getenv('REMOTE_ADDR');
|
|
|
|
+ } else {
|
|
|
|
+ $ip = '0.0.0.0';
|
|
|
|
+ }
|
|
|
|
+ $params = $request->all();
|
|
|
|
+ Log::channel('request')->info('request', ['param'=>json_encode($params),'ip' => $ip,'uri'=>$request->path()]);
|
|
|
|
+
|
|
|
|
+ return $next($request);
|
|
|
|
+ }
|
|
|
|
+}
|