creative-syntax/laravel-logviewer
Web UI to view, filter, download, and delete Laravel log files. Includes per-level extraction, bulk/selected ZIP downloads, clear/delete actions, configurable route prefix/name and page heading, plus optional access restriction via config/.env authentication.
config/logging.php), allowing flexibility for applications using non-default log setups (e.g., Syslog, Slack, or database logs).php artisan vendor:publish --provider="CreativeSyntax\LogViewer\LogViewerServiceProvider"), define routes, and optionally customize the view.storage/logs/laravel.log). No schema changes or migrations required.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Sensitive Data Exposure | High | Implement middleware/auth (e.g., can:view-logs) and sanitize logs pre-display. |
| Log File Bloat | Medium | Configure Laravel’s log rotation (maxFiles) and set reasonable retention policies. |
| UI/UX Limitations | Low | Customize Blade templates or extend functionality via hooks (if package supports events). |
| Compatibility with Log Channels | Low | Test with custom log channels (e.g., single, stack, or third-party). |
composer require creative-syntax/laravel-logviewer
php artisan vendor:publish --provider="CreativeSyntax\LogViewer\LogViewerServiceProvider"
routes/web.php (e.g., Route::middleware(['auth'])->group(...)).config/log-viewer.php (e.g., log file paths, pagination).laravel.log).storage/logs/ is writable by the web server.logging config or logrotate).maxFiles or external tools (e.g., logrotate).composer audit) should be routine.perPage in config).throttle) if needed.| Scenario | Impact | Mitigation |
|---|---|---|
| Log file corruption | UI shows errors/empty logs | Backup logs; use Laravel’s single channel as fallback. |
| Permission denied (logs dir) | 500 errors | Ensure web server has read access to storage/logs/. |
| Disk full | Logs truncate or app crashes | Set up log rotation + monitoring. |
| Custom log channel unsupported | Missing logs in UI | Extend package or pre-process logs. |
How can I help you explore Laravel packages today?