SyberIsle / laravel-scribe

Non-Audit logs for your Laravel models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Non-Audit logs for your Laravel models

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.

About

Non-Audit logs for your Laravel models

License:MIT License


Languages

Language:PHP 100.0%