RequestLog.php 837 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Support\Facades\Log;
  5. class RequestLog
  6. {
  7. public function handle($request, Closure $next)
  8. {
  9. if (getenv('HTTP_CLIENT_IP')) {
  10. $ip = getenv('HTTP_CLIENT_IP');
  11. }
  12. elseif (getenv('HTTP_X_REAL_IP')) {
  13. $ip = getenv('HTTP_X_REAL_IP');
  14. } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
  15. $ip = getenv('HTTP_X_FORWARDED_FOR');
  16. $ips = explode(',', $ip);
  17. $ip = $ips[0];
  18. } elseif (getenv('REMOTE_ADDR')) {
  19. $ip = getenv('REMOTE_ADDR');
  20. } else {
  21. $ip = '0.0.0.0';
  22. }
  23. $params = $request->all();
  24. Log::channel('request')->info('request', ['param'=>$params,'ip' => $ip,'uri'=>$request->path()]);
  25. return $next($request);
  26. }
  27. }