Skip to content

Instantly share code, notes, and snippets.

@andybeak
Last active August 29, 2015 14:26
Show Gist options
  • Save andybeak/eb864103f385d8910001 to your computer and use it in GitHub Desktop.
Save andybeak/eb864103f385d8910001 to your computer and use it in GitHub Desktop.
Laravel request logging middleware
<?php namespace App\Http\Middleware;
use Auth;
use Closure;
use Config;
use Log;
class LoggingMiddleware {
/**
* Logs incoming requests if debug mode is enabled.
* Rememeber to enable it as global middleware in App\Http\Kernal.php
* 'App\Http\Middleware\LoggingMiddleware',
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Config::get('app.debug'))
{
$message = 'Request : ';
if (Auth::check())
{
$user = Auth::user();
$user = 'User ' . $user->id;
}
else
{
$user = 'Anon';
}
$message .= '[' . $user . '] ' . $request->method() . ' ' . $request->path();
$input = $request->all();
if (!empty($input))
{
$message .= "\r\n";
foreach ($input as $key => $value)
{
$message .= "\t" . $key . ' => ' . $value . "\r\n";
}
}
Log::debug($message);
}
return $next($request);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment