syberisle / laravel-scribe
Tool for adding logging to models
Requires
- php: ^8.0
- illuminate/contracts: ^9.28 || ^10.0 || ^11.0
Requires (Dev)
- nunomaduro/collision: ^6.2
- orchestra/testbench: ^7.7 || ^8.0
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5.24
- squizlabs/php_codesniffer: ^3.9
- syberisle/coding-standards: ^2.0
This package is auto-updated.
Last update: 2024-10-25 21:27:50 UTC
README
An opinionated package that provides easy to use functions to log diagnostic information against the models in your app. These logs are stored in their own tables.
If you are looking for automatic event logging on your models, please look at either spatie/laravel-activitylog or owen-it/auditable as they are better suited for an audit log.
You can use it like this:
SomeModel::find(1)->log('hi there'); // retrieving model logs SomeModel::find(1)->logs(); // or SomeModelLogs::all();
Installation
composer install syberisle/laravel-scribe
You can then create log models for your existing models:
php artisan make:scribe:model 'App\Models\SomeModel'
Note: This automatically creates the migration for the log model, you may specify --no-migration
if you do not want
the migration to be auto-generated.
You will also need to update your model to get the logs()
, and log()
methods.
use SyberIsle\Laravel\Scribe\Model\HasLogs; class MyModel { use HasLogs; protected $logModel = MyModelLog::class ... }
UUID support
UUID's are supported for the migrations:
--uuid
will cause the migration & generated Log class to use UUID's via theHasUuids
trait--causer-uuid
will cause the migration to utilize UUID's when creating thecauser
columns- The subject ID will be auto-detected by the Model generator, and will apply UUID's if necessary to the
subject_id
Changelog
Please see CHANGELOG for more information about recent changes.
Contributing
Please see CONTRIBUTING for details.
Security
If you've found a bug regarding security please report it via the security tab of this repository.
License
The MIT License (MIT). Please see License File for more information.