Skip to content
Track user activities in Laravel 5 applications
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Track user activities in Laravel 5 applications

This package will track created, updated or deleted event on subscribed models and will store useful info about it.


  • 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


Build only for Laravel Framework 5 only!


In terminal

composer require aginev/activity-log:1.0.*

Add Service Provider to your config/app.php like so

// config/app.php

'providers' => [

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 = [


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

  1. Implement \Aginev\ActivityLog\HandlersLogActivityInterface\ActivityLogInterface in your custom handler.
  2. Place custom handler as value in activity-log.log config

Credits - Similar package but with different implementation. Code blocks used from there. Thanks!



You can’t perform that action at this time.