Quellcode durchsuchen

九方2.0版本

root vor 1 Jahr
Ursprung
Commit
ff2b5b6ea4
4 geänderte Dateien mit 47 neuen und 1 gelöschten Zeilen
  1. 1 1
      .gitignore
  2. 1 0
      app/Http/Kernel.php
  3. 38 0
      app/Http/Middleware/RequestLog.php
  4. 7 0
      config/logging.php

+ 1 - 1
.gitignore

@@ -10,4 +10,4 @@ Homestead.json
 Homestead.yaml
 npm-debug.log
 yarn-error.log
-.idea
+/.idea

+ 1 - 0
app/Http/Kernel.php

@@ -20,6 +20,7 @@ class Kernel extends HttpKernel
         \App\Http\Middleware\TrimStrings::class,
         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
         \Fruitcake\Cors\HandleCors::class,
+        \App\Http\Middleware\RequestLog::class,
     ];
 
     /**

+ 38 - 0
app/Http/Middleware/RequestLog.php

@@ -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);
+    }
+}

+ 7 - 0
config/logging.php

@@ -106,6 +106,13 @@ return [
             'path' => storage_path('logs/login.log'),
             'permission' => 0666
         ],
+        //登录日志记录
+        'request' => [
+            'driver' => 'daily',
+            'path' => storage_path('logs/request.log'),
+            'level' => 'debug',
+            'days' => 31,
+        ],
     ],
 
 ];