Download the PHP package peters-development/laravel-model-logger without Composer
On this page you can find all versions of the php package peters-development/laravel-model-logger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download peters-development/laravel-model-logger
More information about peters-development/laravel-model-logger
Files in peters-development/laravel-model-logger
Package laravel-model-logger
Short Description Lightweight polymorphic model activity logging for Laravel.
License MIT
Informations about the package laravel-model-logger
Laravel Model Logger
Lightweight polymorphic model activity logging for Laravel.
- Zero-config for simple apps —
composer require,php artisan migrate, start logging. - Channels for advanced apps — route logs to different tables, connections, or morph key types (numeric/uuid/ulid) when multiple packages or databases are involved.
Installation
The service provider is auto-discovered. The default migration creates a model_logs table on your default connection.
Basic usage
Add the HasModelLogs trait to any Eloquent model:
Log activity:
The authenticated user is automatically recorded. Meta is stored as JSON.
Querying
Configuration
Publish to customise:
The config is built around channels. Each channel owns its own table, connection, and morph-key type. Simple apps use the single bundled default channel and never touch this:
Channels (advanced)
Channels let multiple loggers coexist in one app without colliding. Typical use cases:
- A multi-tenant SaaS that wants landlord auth-events on one connection and tenant business-events on another.
- A package (e.g. a billing or auth package) that ships its own table-prefixed channel without overwriting the host app's logs.
- An app with UUID or ULID keyed models that wants properly-sized morph columns.
Declaring a channel
Add a channel entry to your published config:
Routing a model's logs to a channel
Override getModelLogChannel():
$user->log(...) and $user->logs now read/write the auth channel's table on the landlord connection.
Creating the channel's table
Write a migration on the channel's target connection. The package ships a schema helper so you don't have to copy column definitions:
Packages that ship their own channel
A consuming package can register its own channel from its service provider so it never clobbers the host app's default:
Then every model in the package overrides getModelLogChannel() to return 'mypackage'.
morph_key_type
| Value | When to use |
|---|---|
numeric |
Default. Bigint auto-increment IDs — fits ~95% of Laravel apps. |
uuid |
Models keyed by UUID. |
ulid |
Models keyed by ULID (Laravel's HasUlids trait). |
A single app can mix all three by using one channel per key type.
License
MIT
All versions of laravel-model-logger with dependencies
illuminate/auth Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
illuminate/database Version ^12.0|^13.0