z3d0x / filament-logger
Activity logger for filament
Installs: 183 830
Dependents: 10
Suggesters: 0
Security: 0
Stars: 289
Watchers: 4
Forks: 42
Open Issues: 7
Requires
- php: ^8.0 | ^8.1
- filament/filament: ^3.0
- illuminate/contracts: ^8.0 | ^9.0 | ^10.0 | ^11.0
- spatie/laravel-activitylog: ^4.5
- spatie/laravel-package-tools: ^1.13.5
Requires (Dev)
- nunomaduro/collision: ^6.0 | ^8.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0 | ^9.0
- pestphp/pest: ^1.21 | ^2.34
- pestphp/pest-plugin-laravel: ^1.1 | ^2.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5 | ^10.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-11-08 13:26:53 UTC
README
Configurable activity logger for filament.
Powered by spatie/laravel-activitylog
Features
You can choose what you want to log and how to log it.
- Log Filament Resource Events
- Log Login Event
- Log Notification Events
- Log Model Events
- Easily extendable to log custom events
Note: By default this package will log Filament Resource Events, Access(Login) Events, and Notification Events. If you want to log a model that is not a FilamentResource you will have to manually register in the config file.
Installation
This package uses spatie/laravel-activitylog, instructions for its setup can be found here
You can install the package via composer:
composer require z3d0x/filament-logger
After that run the install command:
php artisan filament-logger:install
This will publish the config & migrations from spatie/laravel-activitylog
For Filament v3, you need to register a resource in PanelProvider
public function panel(Panel $panel): Panel { return $panel ->resources([ config('filament-logger.activity_resource') ]); }
Authorization
To enforce policies on ActivityResource
, after generating a policy, you would need to register Spatie\Activitylog\Models\Activity
to use that policy in the AuthServiceProvider.
<?php namespace App\Providers; use App\Policies\ActivityPolicy; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; use Spatie\Activitylog\Models\Activity; class AuthServiceProvider extends ServiceProvider { protected $policies = [ // Update `Activity::class` with the one defined in `config/activitylog.php` Activity::class => ActivityPolicy::class, ]; //... }
If you are using Shield just register the ActivityPolicy generated by it
Translations
Publish the translations using:
php artisan vendor:publish --tag="filament-logger-translations"
Activity Model resolution
The main Activity
class being used by the Filament Resource instance will be resolved by Spatie's service provider, which loads the model defined by the configuration key found at activitylog.activity_model
in config/activitylog.php
.
Screenshots
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.