mojtabaahn / laravel-web-logs
Access Laravel/Lumen logs from web made easy.
Installs: 10 325
Dependents: 1
Suggesters: 0
Security: 0
Stars: 161
Watchers: 1
Forks: 7
Open Issues: 0
Requires
- php: ^8.0|^7.4
- illuminate/http: 7.*|8.*|9.*
- illuminate/routing: 7.*|8.*|9.*
- illuminate/support: 7.*|8.*|9.*
Requires (Dev)
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.5
README
View Laravel/Lumen logs in browser.
Disclaimer
This package is simply a lightweight web interface for Laravel and Lumen file-based logs. If you need an advanced debugging tool consider trying Telescope, Debugbar, Clockwork or Ray And if you need an error tracking software consider trying Sentry and Bugsnag.
Screen Shot
Installation
You can install the package via composer:
composer require mojtabaahn/laravel-web-logs
Now publish package assets using this command:
php artisan vendor:publish --tag="web-logs-assets"
Optionally, you can publish the config file of the package.
php artisan vendor:publish --provider="Mojtabaahn\LaravelWebLogs\Providers\LaravelWebLogsServiceProvider" --tag="config"
Usage
Visit the web-logs/
route use the package. You can change this in the config file.
Configuration
This is the contents of the published config file:
use Mojtabaahn\LaravelWebLogs\Http\Middlewares\Authorize; return [ /* |-------------------------------------------------------------------------- | Dashboard Enabled |-------------------------------------------------------------------------- | | Here you may specify either dashboard is enabled or not | */ 'enabled' => env('WEB_LOGS_ENABLED', true), /* |-------------------------------------------------------------------------- | Route Group Attributes |-------------------------------------------------------------------------- | | This is the array configuring package route attributes. feel free | to edit route prefixes, middlewares and anything else. | | In case you want to add authorization using default auth driver, | uncomment web middleware. | */ 'route_group_attributes' => [ 'prefix' => env('WEB_LOGS_PATH', 'web-logs'), 'middleware' => [ // 'web', Authorize::class, ], ], /* |-------------------------------------------------------------------------- | Chunk Size |-------------------------------------------------------------------------- | | On each request from dashboard to it's back-end how many logs should | it read of specified log file. Setting this option to a big number | may reduce dashboard performance! | */ 'chunk_size' => env('WEB_LOGS_CHUNK_SIZE', 10), /* |-------------------------------------------------------------------------- | Search Path |-------------------------------------------------------------------------- | | Use this property to customize logs directory where package should | look for log files. | */ 'search_path' => storage_path('logs'), ];
Authorization
Web Logs is enabled by default for all users and guests. In case you want to authorize users before accessing it you must register a viewWebLogs
ability. A good place to do this is in the AuthServiceProvider
that ships with Laravel.
public function boot() { $this->registerPolicies(); Gate::define('viewWebLogs', function ($user = null) { // return true if access to web logs is allowed }); }
License
The MIT License (MIT). Please see License File for more information.