PHPackages                             fouadfawzi/history-logger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. fouadfawzi/history-logger

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

fouadfawzi/history-logger
=========================

Track model changes and keep full JSON snapshots in a history table.

1.1.0(3mo ago)05MITPHPPHP ^8.0

Since Mar 11Pushed 3mo agoCompare

[ Source](https://github.com/fouadfawzi/histoy-logger)[ Packagist](https://packagist.org/packages/fouadfawzi/history-logger)[ RSS](/packages/fouadfawzi-history-logger/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (3)Versions (4)Used By (0)

Laravel History Logger
======================

[](#laravel-history-logger)

`history-logger` is a Laravel package that tracks model changes and stores JSON snapshots for each event in `history_logs`.

It helps developers by giving a built-in model history layer without writing repetitive audit logic in every project.

Key benefits:

- Automatic logging on model events (`created`, `updated`, `deleted`)
- Full data snapshot per entry for easier debugging and traceability
- Actor tracking (`actor_type`, `actor_id`) to know who changed what
- Built-in maintenance commands for pruning and clearing history data
- Optional ready-to-use history viewer page for fast inspection

Requirements
------------

[](#requirements)

- PHP 8.0+
- Laravel 8.75, 9.x, 10.x, 11.x, 12.x

Installation
------------

[](#installation)

```
composer require fouadfawzi/history-logger
```

Publish Package Files
---------------------

[](#publish-package-files)

Publish config:

```
php artisan vendor:publish --provider="FouadFawzi\HistoryLogger\HistoryLoggerServiceProvider" --tag="history-logger-config"
```

Publish migrations:

```
php artisan vendor:publish --provider="FouadFawzi\HistoryLogger\HistoryLoggerServiceProvider" --tag="history-logger-migrations"
```

Migration publishing behavior:

- `multi_tenant=false`: main migrations are always included.
- `multi_tenant=true` + `disable_main_db_in_multi_tenant_mode=false` (default): main + tenant migrations.
- `multi_tenant=true` + `disable_main_db_in_multi_tenant_mode=true`: tenant migrations only.

Optional explicit tags:

```
php artisan vendor:publish --provider="FouadFawzi\HistoryLogger\HistoryLoggerServiceProvider" --tag="history-logger-migrations-main"
php artisan vendor:publish --provider="FouadFawzi\HistoryLogger\HistoryLoggerServiceProvider" --tag="history-logger-migrations-tenant"
```

Optional: publish views:

```
php artisan vendor:publish --provider="FouadFawzi\HistoryLogger\HistoryLoggerServiceProvider" --tag="history-logger-views"
```

Run migrations:

```
php artisan migrate
```

Basic Usage
-----------

[](#basic-usage)

Add the trait to any model:

```
