shaonmajumder/log-viewer
Beautiful, secure Laravel log viewer for Laravel 9–11 and PHP 8+. Auto-discovers log files, highlights levels, supports themes, search and level filtering, context expansion, tail mode, auto-refresh, and downloading full or filtered output.
laravel.log, rotated logs), reducing complexity for teams already using Laravel’s logging system. Avoids reinventing the wheel for generic log parsing.route_name_prefix (e.g., log.viewer.) to avoid collisions with host routes like laravel.log.*.auth_required=true, allowed_emails). Default public access (v0.0.17) is a critical risk for unconfigured installs.allowed_emails).storage/logs/laravel.log).composer require shaonmajumder/log-viewer
php artisan vendor:publish --tag=log-viewer-config
php artisan vendor:publish --tag=log-viewer-views
config/log-viewer.php:
'auth_required' => env('LOG_VIEWER_AUTH_REQUIRED', true),
'allowed_emails' => ['admin@example.com'],
'middleware' => ['web', 'auth.admin'], // Custom middleware
'route_prefix' => 'admin', // e.g., /admin/log-viewer
/log-viewer) and auth (e.g., auth.admin middleware).Log::extend()).laravel.log only).laravel-*.log) via config.composer update).log-viewer.php) may need updates if package defaults change (e.g., auth behavior).auth_required, and allowed_emails.config/log-viewer.php or override LogViewerServiceProvider.| Scenario | Impact | Mitigation |
|---|---|---|
| Log file corruption | UI errors, missing logs | Backup logs; validate file paths. |
| Auth misconfiguration | Unauthorized access | Enforce auth_required=true + middleware. |
| Large log files | Slow UI, timeouts | Pre-filter logs server-side. |
| Package abandonment | No updates, security risks | Fork or export logs to alternative. |
| Route conflicts | 404 errors | Use route_name_prefix. |
| Theme/JS failures | Broken UI | Fallback to default theme. |
How can I help you explore Laravel packages today?