brachiosx/laravel-audit-logger

Provide application in auditing model changes.


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Simple module to apply audit-logging feature in laravel application.

Installation

You can install the package via composer:

composer require brachiosx/laravel-audit-logger

You can publish and run the migrations with:

php artisan vendor:publish --tag="laravel-audit-logger-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="laravel-audit-logger-config"

This is the contents of the published config file:

return [
    'database' => [
        'connection' => '',             // table connection    
        'table_name' => 'laravel_audit_logger_table'       // table name for audit-log
    ],
    'ignore_fields' => ['updated_at'],                  // default ignore fields to skip log
];

Usage

use exposed trait HasAuditLog in desired laravel model class.

<?php

namespace App\Models;

use BrachiosX\AuditLogger\Traits\HasAuditLog;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable
{
    use HasAuditLog, HasApiTokens, HasFactory, Notifiable;

    /**
     * @var string[]
     * field to ignore logging in this model
     */
    public array $ignore_auditing = ['created_by'];

    /**
     * action to disable for audit logging
     * values: ['created', 'updated', 'deleted'
     */
    public array $ignore_audit_actions = [];
}

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.