aginev / activity-log
Track user activities in Laravel 5 applications
Installs: 2 300
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 1
Open Issues: 0
This package is auto-updated.
Last update: 2024-10-27 11:23:24 UTC
README
This package will track created, updated or deleted event on subscribed models and will store useful info about it.
Features
- Composer installable
- PSR4 auto loading
- Track created, updated or deleted event on subscribed models
- Write logs in database or log files
- Command for cleaning logs
Requires
Build only for Laravel Framework 5 only!
Installation
In terminal
composer require aginev/activity-log:1.0.*
Add Service Provider to your config/app.php like so
// config/app.php 'providers' => [ '...', Aginev\ActivityLog\ActivityLogServiceProvider::class, ];
Publish migrations
php artisan vendor:publish --provider="Aginev\ActivityLog\ActivityLogServiceProvider" --tag="migrations" php artisan migrate
Publish config
php artisan vendor:publish --provider="Aginev\ActivityLog\ActivityLogServiceProvider" --tag="config"
Optionally you can add activity log command and you will be able to clean your logs.
// app/Console/Kernel.php protected $commands = [ '...', \Aginev\ActivityLog\Commands\ActivityLogClean::class, ];
Usage
To subscribe model for activity log just use \Aginev\ActivityLog\Traits\ObservableModel
use \Aginev\ActivityLog\Traits\ObservableModel;
To add custom activity description overwrite activityDescription method in your model
/** * Implement this method to set custom activity description message * @param $event Event name * @param User $user Current logged in user * @return string */ public function activityDescription($event, User $user = null) { return 'User ' . $this->full_name . ' has been ' . $event . ' from ' . $user->full_name; }
Get activities
$logs = \ActivityLog::getActivities()->get(); // Get all activities $logs = \ActivityLog::getLatestActivities(2); // Get latest 2 activities
Clean log
$logs = \ActivityLog::cleanLog(30); // Offset in days
Clean the log from terminal
php artisan activity-log:clean
Custom handler implmentations
- Implement \Aginev\ActivityLog\HandlersLogActivityInterface\ActivityLogInterface in your custom handler.
- Place custom handler as value in activity-log.log config
Credits
https://github.com/spatie/activitylog - Similar package but with different implementation. Code blocks used from there. Thanks!