Laravel Packages

Laravel Audit Log

Published
Laravel Audit Log image

The Laravel Audit Log package is designed to provide detailed audit logging for Laravel applications:

Laravel Audit Logger is a powerful and flexible package designed to provide detailed audit logging for Laravel applications. It enables tracking of all changes to your Eloquent models with comprehensive source tracking, ensuring compliance with regulatory requirements, aiding in debugging, and maintaining data integrity.

The package uses a high-performance direct logging architecture while maintaining flexibility through optional event integration, making it suitable for both small applications and enterprise-scale systems.

You can make any model auditable by adding the package's provided trait:

namespace App\Models;
 
use Illuminate\Database\Eloquent\Model;
use iamfarhad\LaravelAuditLog\Traits\Auditable;
 
class Order extends Model
{
use Auditable;
 
protected $fillable = ['customer_id', 'total', 'status'];
}

Using the Auditable trait, all your model changes are logged to a dedicated audit table. In the above example, the audit table would be named audit_order_logs. You can also query audit logs for a model using the provided EloquentAuditLog class:

use iamfarhad\LaravelAuditLog\Models\EloquentAuditLog;
 
$httpLogs = EloquentAuditLog::forEntity(Order::class)
->fromHttp()
->get();
 
// Get all logs for a given order
$orderLogs = $order->auditLogs()->get();

Main Features

  • Entity-Specific Audit Tables: Automatically creates dedicated tables for each audited model to optimize performance and querying.
  • Comprehensive Change Tracking: Logs all CRUD operations (create, update, delete, restore) with old and new values.
  • Source Tracking: Automatically tracks the source of changes (console commands, HTTP routes, etc.) for enhanced debugging and compliance.
  • Customizable Field Logging: Control which fields to include or exclude from auditing.
  • User Tracking: Automatically identifies and logs the user (causer) responsible for changes.
  • And more...

You can learn more about this package, get full installation instructions, and view the source code on GitHub. You can install this package with the following Composer command:

composer require iamfarhad/laravel-audit-log
php artisan vendor:publish --tag=audit-logger-config
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article
Pause All Laravel Queues During a Deploy image

Pause All Laravel Queues During a Deploy

Read article
Laravel Terminal UI for the artisan dev Command image

Laravel Terminal UI for the artisan dev Command

Read article
Pause All Queues and a New artisan dev UI in Laravel 13.25 image

Pause All Queues and a New artisan dev UI in Laravel 13.25

Read article
Laravel monitoring that doesn't bill you by your traffic image

Laravel monitoring that doesn't bill you by your traffic

Read article
Mock PHP Classes in Tests With the Double Library image

Mock PHP Classes in Tests With the Double Library

Read article