当我打电话给我的服务器时,我希望将url和参数记录到日志或控制台。
我可以通过将以下代码放在我的Routes \ api.php中来捕获所有数据库请求。是否可以对HTTP请求执行相同的操作?
//Capture sql statements
\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {
error_log($query->sql);
});
答案 0 :(得分:3)
你可以在中间件中实现它
创建新的中间件
应用\ HTTP \中间件\ 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,
...
]
]