dcat-admin 基于laravel/activity-log 的自动记录模型操作日志扩展
composer require jarl/activity-log
如果您希望您的日志存储在一个特殊的数据库连接中,您可以在env文件中定义ACTIVITY_LOGGER_DB_CONNECTION
。
迁移配置文件
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-config"
- 打开扩展管理页面,找到
jarl.activity-log
扩展启用
。 - 修改
activitylog.php
配置文件里的default_auth_driver
属性为你定义的guard,一般后台是admin
,前台是web
,否则生成的日志causer_type
和causer_id
为null
。 - 在想要记录的模型类中使用引入
Jarl\ActivityLog\Http\Traits\LogsActivityTrait
use LogsActivityTrait;
例如
- 你添加了其他字段比如ip字段
- 你想修改表名
- 你想修改展示页面
- ...
可自行复制修改sql迁移文件、控制器、模型、静态文件、语言包等文件,之后在模型里定义tapActivity
方法,该方法可修改任意字段。
use Jarl\ActivityLog\Http\Traits\LogsActivityTrait;
use Spatie\Activitylog\Models\Activity;
......
class User extends Model{
...
use LogsActivityTrait;
public function tapActivity(Activity $activity, string $eventName)
{
$activity->ip = request()->ip();
$activity->causer_id = 2;
//$activity->description = '你想要修改的description';
}
}
本项目基于 spatie/laravel/activity-log 项目,如涉及侵权问题麻烦联系本人删除该项目
Licensed under The MIT License (MIT).