当我调用服务器时,我希望将 URL 和参数记录到日志或控制台中。
我可以通过将下面的代码放入我的 Routes\api.php 中来捕获所有数据库请求。是否可以对 HTTP 请求执行相同的操作?
//Capture sql statements
\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {
error_log($query->sql);
});
最佳答案
你可以在中间件中实现它
创建新的中间件
App\Http\Middleware\LogRoutes.php
namespace App\Http\Middleware;
use Closure;
class LogRoutes
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
dd($request->getRequestUri());
return $next($request);
}
}
然后添加app\Kernel.php
protected $middlewareGroups = [
'web' => [
// first in this array!
App\Http\Middleware\LogRoutes::class,
...
]
]
关于php - 如何捕获 Laravel 中的所有请求 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399789/