paxha/laravel-loggable
一个简单的laravel日志记录包
v2.0.0
2021-06-26 14:20 UTC
Requires
- php: ^7.3|^8.0
Requires (Dev)
- orchestra/testbench: ^v6.18
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-26 21:52:17 UTC
README
paxha/laravel-loggable
包提供了易于使用的函数,用于记录应用中可记录模型的所有CRUD操作。它还可以自动记录模型事件。所有日志都将存储在logs
表中。
安装
使用composer将包添加到您的Laravel应用中
composer require paxha/laravel-loggable
入门
执行Artisan命令以运行迁移。
php artisan migrate
用法
要开始记录CRUD操作,只需在模型上使用特性即可。
use Loggable\Traits\Loggable;
class Product extends Model
{
use Loggable;
...
模型日志
存储在数据库中的日志类似于以下字符串
"由- 用户名创建了一个新的产品1"
要覆盖此加粗的名称字符串,您可以在模型中编写此方法。
默认情况下,它将获取名称列
use Loggable\Traits\Loggable;
class Product extends Model
{
use HasLogs;
public function getActedUpon(){
return $this->title;
}
}
它可以是从您的可记录表中的任何列,如名称、标题、产品名称等。
您可以检索可记录模型日志
$product_logs = Product::first()->logs();
// return Array of first Product's logs
您可以通过使用此特性HasLogs
来检索可认证模型日志
use Loggable\Traits\Loggable;
class User extends Model
{
use HasLogs;
...
$user_logs = auth()->user()->logs();
// return Array of current authenticated User's logs
存储在数据库中的日志类似于以下字符串
用户日志
"由- 用户名创建了一个新的产品1"
要覆盖此加粗的用户名字符串,您可以在模型中编写此方法。
use Loggable\Traits\Loggable;
class User extends Model
{
use HasLogs;
public function getActor(){
return $this->first_name." ".$this->last_name;
}
}
默认情况下,它将获取名称列
它可以是从您的认证表中的任何列,如名称、电子邮件、ID等。
在一个地方使用两个特性
如果您想在一个模型中使用这两个特性,您需要实现此代码片段以克服多重继承问题
use Loggable\Traits\Loggable;
class User extends Model
{
use Loggable, HasLogs {
Loggable::logs insteadof HasLogs;
HasLogs::logs as historyLogs;
}
}
您可以选择任何名称而不是historyLogs
$user_logs = auth()->user()->historyLogs();
// return Array of current authenticated User's logs
许可
这是一个开源的laravel库,在MIT许可证下发布。