-
Пакет Laravel-activitylog:
Вы можете использовать пакет «spatie/laravel-activitylog», чтобы легко реализовать ведение журнала активности в вашем приложении Laravel. Этот пакет предоставляет простой способ регистрации действий, выполняемых пользователями.Установка:
composer require spatie/laravel-activitylog
Использование:
// Log an activity activity()->log('Some activity'); // Log an activity with a specific model activity()->performedOn($model)->log('Activity on Model'); // Retrieve activity logs for a specific model $activityLogs = $model->activityLogs;
-
Ведение журнала вручную.
Если вы предпочитаете более индивидуальный подход, вы можете вручную регистрировать действия, используя встроенный механизм журналирования Laravel. Вы можете создать специальную модель и таблицу для хранения журналов активности.Пример:
// Create an activity log entry ActivityLog::create([ 'user_id' => auth()->id(), 'activity' => 'Some activity', ]); // Retrieve activity logs $activityLogs = ActivityLog::where('user_id', auth()->id())->get();
-
Прослушиватели событий.
Вы можете использовать прослушиватели событий Laravel для автоматического протоколирования действий всякий раз, когда в вашем приложении происходят определенные события.Пример:
// Create an event listener class UserLoggedInListener { public function handle(UserLoggedIn $event) { ActivityLog::create([ 'user_id' => $event->user->id, 'activity' => 'User logged in', ]); } } // Register the event listener protected $listen = [ UserLoggedIn::class => [ UserLoggedInListener::class, ], ];