Skip to content

Laravel User Logs - A Simple laravel package to keep the log of users activity

Notifications You must be signed in to change notification settings

Dipesh79/LaravelUserLogs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaravelUserLogs

Latest Stable Version Total Downloads License

This Laravel package allows you to store user logs. This package automatically stores the logs when a model is created, updated, or deleted.

Usage/Examples

Install Using Composer

composer require dipesh79/laravel-user-logs

Publish Vendor File For Migration

php artisan vendor:publish

And publish Dipesh79\LaravelUserLogs\LaravelLogServiceProvider

Run Migration

php artisan migrate

Model

Use HasLog Trait in your model. This will create a relation between your model and the Log model.

<?php

namespace App\Models;

use Dipesh79\LaravelUserLogs\Traits\HasLog;

class User extends Authenticatable
{
    use HasLog;

Automated Static events for logs

The Created, Updated, Deleted events are fired when a model is created, updated, or deleted, respectively. You don't have to do anything else, this package will automatically store the logs in the database.

Access User Logs

$logs = \Dipesh79\LaravelUserLogs\Models\Log::get();

V 1.4 update

View User Logs

Route::get('/logs', [Dipesh79\LaravelUserLogs\Controllers\UserLogController::class, 'index'])->name('logs');

Don't forget to guard this route with your custom or pre-defined middleware

V 1.4.1 update

Config File

    <?php

return [
    /**
     * Log Viewer Theme | Options: bootstrap.
     */

    'theme' => 'bootstrap',

    /**
     * Pagination Count.
     */
    'pagination' => 10,

    /**
     * User Identifier from users table.
     */
    'user_identifier' => 'name',

    /**
     * Return page from log view page.
     */
    'return_page' => [
        /**
         * Route Type | Options: route, url.
         */
        'route_type' => 'url',
        /**
         * Route Name or URL.
         */
        'url' => '/'
    ]

];

Chose theme for user log viewer. Currently only bootstrap theme is available. You can change the pagination count for user log viewer. You can change the user identifier from users table. By default it is name. You can change the return page from user log viewer. By default it is /. You can change it to your custom route or url.

V 1.5.0 Update

Now updated values will be stored in database and view them in user log viewer.

Get Access to Old Values And Updated Values in your model

    $user_log = \Dipesh79\LaravelUserLogs\Models\Log::find(1);
    $old_values = $user_log->old_data;
    $updated_values = $user_log->changed_values;

License

MIT

Author

Support

For support, email [email protected].