ebethus/laravel-vv-logs-viewer
Simple in-app Laravel/Lumen log viewer. Install via Composer, register the service provider, and add a route to LogViewerController@index to browse log files (with or without log rotation). No public assets or vendor routes needed.
laravel-logger or monolog are often used). Risk: May break if logs are split, compressed, or externalized (e.g., to AWS CloudWatch).auth:sanctum), adding complexity.monolog or symfony/console).storage/logs/laravel.log) or custom paths (e.g., S3, Syslog)?spatie/laravel-log-viewer) better fit long-term needs?monolog processors) without preprocessing.composer require rap2hpoutre/laravel-log-viewer
Add to routes/web.php:
Route::get('/logs', [\Rap2hpoutre\LaravelLogViewer\LogViewerController::class, 'index']);
LogViewerController to fetch logs from the correct source (e.g., S3).Route::get('/logs', function () {
abort_if(!auth()->check(), 403);
return app(\Rap2hpoutre\LaravelLogViewer\LogViewerController::class)->index();
})->middleware('auth');
throttle, admin middleware).Illuminate\Support\Facades\Log (e.g., Log::stack()).monolog or symfony/console versions.database, syslog, or slack, logs may not display correctly.storage/logs/laravel.log >50MB).composer.json to avoid accidental updates.spatie/laravel-log-viewer or laravel-debugbar).laravel-logger package).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Log file corruption/missing | Broken UI or 404 errors | Backup logs; use Log::stack() fallback. |
| Unauthorized access | Data leakage | Enforce auth middleware + rate limiting. |
| Laravel version upgrade | Package breaks | Test in staging; fork if needed. |
| Log rotation conflicts | Missing recent logs | Configure logrotate to preserve logs. |
How can I help you explore Laravel packages today?