hanifhefaz / user-model-activity
将模型活动记录到日志文件中。
Requires (Dev)
- phpunit/phpunit: 10.0.19
README
简介
介绍用户模型活动包:轻松跟踪模型中的更改
你是否曾经需要一种简单而有效的方式来跟踪和记录对Laravel模型所做的更改?不用再找了!我们非常高兴地推出我们的User Model Activity包,该包可以将模型事件(如创建、更新和删除)的日志保存到方便的日志文件中。使用此包,监控和审核应用程序模型中的更改从未如此简单。
安装
您可以使用Composer安装此包。
composer require hanifhefaz/user-model-activity
安装后,运行以下命令以发布必要的资源和文件
php artisan vendor:publish --provider="Hanifhefaz\UserModelActivity\UserModelActivityServiceProvider"
就这样。您已成功安装并发布了所需的包资源和文件。
用法
一旦安装并配置了该包,您就可以开始使用它来跟踪模型中的更改。按照以下步骤开始
-
日志文件配置
首先,请访问您的
config/logging.php
并将以下内容添加到channels数组中/* * Logging.php */ 'channels' => [ // existing code ... // 'stack' => [ // 'driver' => 'stack', // 'channels' => ['single'], // 'ignore_exceptions' => false, // ], // ... 'user-model-activity' => [ 'driver' => 'single', 'path' => storage_path('logs/user-model-activity.log'), 'level' => 'debug', ], ]
现在,您可以在模型内部使用
UserModelActivityLogger
特性,所有日志都将被跟踪。<?php namespace App\Models; use Hanifhefaz\UserModelActivity\Traits\UserModelActivityLogger; use Illuminate\Database\Eloquent\Model; class Post extends Model { use UserModelActivityLogger; protected $fillable = ['title', 'content']; }
就是这样。现在只需访问
user-activity
URL,选择您保存日志的文件。您将看到所有日志。
结论
User Model Activity包为跟踪对Laravel模型所做的更改提供了一种简单且高效的解决方案。它简化了监控、审核和调试模型相关更改的过程。使用User Model Activity包提高应用程序的可维护性,并从您的数据中获得宝贵的见解。
贡献
欢迎贡献!请选择已知问题、未来计划或实现您自己的想法,以帮助该包发展。
当前贡献者:贡献者。
已知问题和未来计划
-
为了进一步改进包,我们计划在日志视图中进行一些更改。目前它尚未优化。
-
更好的方法是将用户详细信息集成到日志中。目前,它将保存模型详细信息,如果您的模型有created_by,它将被记录,但我们需要更好的方法。
-
以更好的方式解析日志。
-
如果特性和spatie的Role和Permission模型从父模型扩展,则特性和spatie的Role和Permission模型将不起作用,如下所示
<?php namespace App\Models; use Hanifhefaz\UserModelActivity\Traits\UserModelActivityLogger; use Illuminate\Database\Eloquent\Factories\HasFactory; use Spatie\Permission\Models\Permission as ParentPermission; class Permission extends ParentPermission { use HasFactory; use UserModelActivityLogger; protected $fillable = [ 'id','name','created_at','updated_at' ]; }
如果您发现任何问题,请将其发布到问题部分。