PHP code example of sl-projects / laravel-request-logger
1. Go to this page and download the library: Download sl-projects/laravel-request-logger library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sl-projects / laravel-request-logger example snippets
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Middleware;
use SlProjects\LaravelRequestLogger\app\Http\Middleware\SaveRequestMiddleware;
return Application::configure(basePath: dirname(__DIR__))
->withMiddleware(function (Middleware $middleware) {
// Global middleware (logs all requests)
$middleware->append(SaveRequestMiddleware::class);
// OR for specific routes only
$middleware->appendToGroup('web', SaveRequestMiddleware::class);
// OR create an alias for selective use
$middleware->alias([
'log.request' => SaveRequestMiddleware::class,
]);
})
->create();
use Illuminate\Support\Facades\Schedule;
Schedule::command('save:requests')->everyMinute();
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
use SlProjects\LaravelRequestLogger\app\Http\Middleware\SaveRequestMiddleware;
class Kernel extends HttpKernel
{
// Global middleware (logs all requests)
protected $middleware = [
// ... other middleware
SaveRequestMiddleware::class,
];
// OR for web routes only
protected $middlewareGroups = [
'web' => [
// ... other middleware
SaveRequestMiddleware::class,
],
];
// OR create an alias for selective use
protected $middlewareAliases = [
// ... other aliases
'log.request' => SaveRequestMiddleware::class,
];
}
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule): void
{
$schedule->command('save:requests')->everyMinute();
}
}
use SlProjects\LaravelRequestLogger\app\Models\LoggedRequest;
// Get all requests from a specific IP
$requests = LoggedRequest::with(['ipAddress', 'url', 'userAgent'])
->whereHas('ipAddress', function ($query) {
$query->where('ip', '192.168.1.1');
})
->get();
// Get requests by status code
$errors = LoggedRequest::where('status_code', '>=', 400)
->where('status_code', '<', 500)
->get();
// Get requests by URL pattern
$apiRequests = LoggedRequest::whereHas('url', function ($query) {
$query->where('url', 'like', '/api/%');
})->get();
// Analyze request patterns
$topUserAgents = LoggedRequest::with('userAgent')
->select('user_agent_id', DB::raw('count(*) as total'))
->groupBy('user_agent_id')
->orderByDesc('total')
->limit(10)
->get();