ApiLog.php 875 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Storage;
  6. class ApiLog
  7. {
  8. /**
  9. * Handle an incoming request.
  10. *
  11. * @param \Illuminate\Http\Request $request
  12. * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
  13. * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
  14. */
  15. public function handle(Request $request, Closure $next)
  16. {
  17. $response = $next($request);
  18. $api = [];
  19. $api[] = date("h:i:sa",LARAVEL_START);
  20. $api[] = round((microtime(true) - LARAVEL_START)*1000,2);
  21. $api[] = $request->method();
  22. $api[] = $request->path();
  23. Storage::disk('local')->append("logs/api/".date("Y-m-d").".log",\implode(',',$api) );
  24. return $response;
  25. }
  26. }