noxoua/filament-activity-log
spatie/laravel-activitylog, which provides a robust, queryable activity log system. This ensures compatibility with Laravel’s Eloquent models and event-driven logging.spatie/laravel-activitylog (v3+), which must be installed separately.spatie/laravel-activitylog’s schema).spatie/laravel-activitylog (breaking changes in Spatie’s package could require updates).only/except in Spatie’s config or event-based logging.spatie/laravel-activitylog tables).schedule:run.pxlrbt/filament-activity-log, what’s the effort to switch to this package?spatie/laravel-activitylog for core logging.spatie/laravel-activitylog (if not already present):
composer require spatie/laravel-activitylog
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider"
log_only models, properties).composer require noxoua/filament-activity-log
php artisan vendor:publish --provider="Noxoua\FilamentActivityLog\FilamentActivityLogServiceProvider"
app/Providers/Filament/AdminPanelProvider.php:
public function panel(Panel $panel): Panel
{
return $panel
->resources([
// ... other resources
\Noxoua\FilamentActivityLog\Resources\ActivityLogResource::class,
]);
}
php artisan vendor:publish --tag="filament-activity-log-views"
spatie/laravel-activitylog is compatible (v3+ recommended).activity_logs). For custom tables, configure Spatie’s config/activitylog.php.log_only or event-based logging.Activity::cleanup()).spatie/laravel-activitylog and filament/filament for breaking changes.config/activitylog.php) to avoid duplication.telescope for event debugging, laravel-debugbar for queries.log_only to limit logged models/actions. For high-volume systems, consider event-based logging instead of observers.activity_logs table for created_at, properties->key, and subject_type:
CREATE INDEX activity_logs_subject_type ON activity_logs(subject_type);
CREATE INDEX activity_logs_created_at ON activity_logs(created_at);
// app/Console/Commands/CleanupActivityLogs.php
use Spatie\Activitylog\Models\Activity;
public function handle()
{
Activity::where('created_at', '<', now()->subYears(1))->delete();
}
| Failure Scenario | Impact | Mitigation | |--------------------------------
How can I help you explore Laravel packages today?