php – 如何在laravel 5.2框架中记录每个响应

前端之家收集整理的这篇文章主要介绍了php – 如何在laravel 5.2框架中记录每个响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用下面的代码记录我的API的每个请求和响应,但现在它不适用于Laravel 5.2.

我试过使用https://laravel.com/docs/5.2/middleware#terminable-middleware但没有成功.

use Closure;  
use Illuminate\Contracts\Routing\TerminableMiddleware;  
use Illuminate\Support\Facades\Log;

class LogAfterRequest implements TerminableMiddleware {

    public function handle($request,Closure $next)
    {
        return $next($request);
    }

    public function terminate($request,$response)
    {
        $logFile = 'log.txt';
        Log::useDailyFiles(storage_path().'/logs/'.$logFile);
        Log::info('app.requests',['request' => $request->all(),'response' => $response->getContent()]);
    }

}

有谁能建议我的解决方案?

解决方法

假设您为routes.PHP使用web组,则应在$middlewareGroups中为app / Kernel.PHP添加以下中间件:

\App\Http\Middleware\LogAfterRequest ::class,

您的routes.PHP应该如下所示:

Route::group(['middleware' => 'web'],function () {
  // here you put all the routes
});

猜你在找的Laravel相关文章