Introduction to the 'hydra.log' middleware for logging headers, request parameters and response in logs/laravel.log

pull/16/head
Hasin Hayder 3 years ago
parent fa7989461d
commit 0e54bf242b

@ -64,5 +64,6 @@ class Kernel extends HttpKernel {
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'abilities' => \Laravel\Sanctum\Http\Middleware\CheckAbilities::class,
'ability' => \Laravel\Sanctum\Http\Middleware\CheckForAnyAbility::class,
'hydra.log' => \App\Http\Middleware\HydraLog::class,
];
}

@ -0,0 +1,32 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class HydraLog
{
/**
* 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)
{
return $next($request);
}
public function terminate($request, $response)
{
Log::info("\n\n".str_repeat("=",100)."\n\n");
Log::debug('app.route', ['route'=>$request->route()]);
Log::debug('app.headers', ['headers'=>$request->headers]);
Log::debug('app.requests', ['request' => $request->all()]);
Log::debug('app.response', ['response' => $response]);
Log::info("\n\n".str_repeat("=",100)."\n\n");
}
}

@ -4,6 +4,7 @@ use App\Http\Controllers\HydraController;
use App\Http\Controllers\RoleController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\UserRoleController;
use App\Http\Middleware\HydraLog;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
@ -18,9 +19,7 @@ use Illuminate\Support\Facades\Route;
|
*/
// Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
// return $request->user();
// });
//use the middleware 'hydra.log' with any request to get the detailed headers, request parameters and response logged in logs/laravel.log
Route::get('hydra',[HydraController::class,'hydra']);
Route::get('hydra/version',[HydraController::class,'version']);

Loading…
Cancel
Save