pishran / filament-laravel-log
Access laravel.log file through Filament admin panel
v1.1
2025-06-07 19:39 UTC
Requires
- php: ^8.2
- filament/filament: ^3.0
- illuminate/contracts: ^11.0 || ^12.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- larastan/larastan: ^3.1.0
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.0 || ^8.0
- orchestra/testbench: ^9.0 || ^10.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^2.0.1
- phpstan/phpstan-phpunit: ^2.0.4
- spatie/laravel-ray: ^1.26
README
Features
- Syntax highlighting
- Light/ Dark mode
- Quickly jump between start and end of the file
- Refresh log contents
- Clear log contents
- Search multiple files in multiple directories
- Ignored file patterns
Installation
You can install the package via composer:
composer require pishran/filament-laravel-log
Usage
Add the Pishran\FilamentLaravelLog\FilamentLaravelLogPlugin
to your panel config.
use Pishran\FilamentLaravelLog\FilamentLaravelLogPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentLaravelLogPlugin::make() ); } }
Configuration
Customizing the navigation item
FilamentLaravelLogPlugin::make() ->navigationGroup('System Tools') ->navigationLabel('Logs') ->navigationIcon('heroicon-o-bug-ant') ->navigationSort(1) ->slug('logs')
Customizing the log search
FilamentLaravelLogPlugin::make() ->logDirs([ storage_path('logs'), // The default value ]) ->excludedFilesPatterns([ '*2023*' ])
Authorization
If you would like to prevent certain users from accessing the logs page, you should add a authorize
callback in the FilamentLaravelLogPlugin chain.
FilamentLaravelLogPlugin::make() ->authorize( fn () => auth()->user()->isAdmin() )
Customizing the log page
To customize the log page, you can extend the Pishran\FilamentLaravelLog\Pages\ViewLog
page and override its methods.
use Pishran\FilamentLaravelLog\Pages\ViewLog as BaseViewLog; class ViewLog extends BaseViewLog { // Your implementation }
use App\Filament\Pages\ViewLog; FilamentLaravelLogPlugin::make() ->viewLog(ViewLog::class)
Customizing the editor appearance
Publish the config file:
php artisan vendor:publish --tag="log-config"
This is the contents of the published config file:
<?php return [ /** * Maximum amount of lines that editor will render. */ 'maxLines' => 50, /** * Minimum amount of lines that editor will render. */ 'minLines' => 10, /** * Editor font size. */ 'fontSize' => 12 ];