syberisle/laravel-scribe

Tool for adding logging to models

0.0.2 2024-02-25 20:09 UTC

This package is auto-updated.

Last update: 2024-04-25 20:29:04 UTC


README

Latest Version on Packagist GitHub Workflow Status Total Downloads

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 the HasUuids trait
  • --causer-uuid will cause the migration to utilize UUID's when creating the causer 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.