123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Log;
- class RequestLog
- {
- /**
- * Handle an incoming request.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
- * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
- */
- public function handle(Request $request, Closure $next)
- {
- try {
- /** @var Request $request */
- if (isset($_SERVER['HTTP_REMOTEIP'])) {
- $ips = [$_SERVER['HTTP_REMOTEIP']];
- } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
- $ips = [$_SERVER['HTTP_X_FORWARDED_FOR']];
- } else {
- $ips = $request->getClientIps();
- }
- $url = $request->url();
- $method = $request->method();
- $queryString = $request->getQueryString();
- $header = $request->header();
- $messageArr[] = implode(',', $ips) . ' ' . $method . ' ' . $url . ( empty($queryString) ? '' : '?' . urldecode($queryString));
- $messageArr[] = $request->getContent();
- $message = implode("\r\n", $messageArr);
- $header['session'] = session()->all();
- Log::info($message, $header);
- } catch (\Exception $exc) {
- // 异常什么也不做
- }
- return $next($request);
- }
- }
|