Laravel - spatie/laravel-activitylog扩展包

简介

Laravel 用户活动以及模型变动日志 spatie/laravel-activitylog

安装

  1. 安装组件
composer require spatie/laravel-activitylog
  1. 发布配置文件
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="config"
  1. 数据库迁移文件
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="migrations"
  1. 数据库迁移
php artisan migration
  1. .env配置数据库连接

新版本添加了日志数据库连接配置,如有需要可以自定义连接,否则会使用系统默认的数据库连接

ACTIVITY_LOGGER_DB_CONNECTION=connection

字段

字段 描述
id 自增 ID 主键
log_name 日志名称,用于归类
description 日志内容
subject_id subject 模型多态关联 id
subject_type subject 模型多态关联 type
causer_id causer 模型多态关联 id
causer_type causer 模型多态关联 type
properties 属性,保存为 json
created_at 创建时间
updated_at 修改时间

用法

扩展基本使用方法,直接在想记录日志的地方调用activity()->log()方法,比如登录成功或失败的时候需要记录下登录日志

activity()->log('logged something')
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在 Laravel 项目中安装 `spatie/laravel-activitylog` 扩展。你可以通过以下命令来安装: ``` composer require spatie/laravel-activitylog ``` 安装完成后,你需要运行以下命令来发布配置文件和迁移文件: ``` php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="migrations" php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="config" ``` 接下来,你需要运行数据库迁移以创建存储日志的表: ``` php artisan migrate ``` 此时,你需要在你的模型中使用 `LogsActivity` trait,以便记录模型的活动。例如,你可以在 `User` 模型中使用 `LogsActivity` trait: ```php use Spatie\Activitylog\Traits\LogsActivity; class User extends Authenticatable { use LogsActivity; protected static $logAttributes = ['name', 'email']; protected static $logName = 'user'; protected static $logOnlyDirty = true; // ... } ``` 在上面的例子中,我们定义了要记录的模型属性、日志名称以及仅记录已更改的属性。你可以根据自己的需求进行配置。 现在,当你对模型进行更改时,它们的活动将被记录在 `activity_log` 表中。你可以使用 `activity()` 函数来访问活动记录器,并使用 `getLogsFor()` 方法来获取指定模型的日志记录: ```php $user = User::find(1); $logs = activity()->log('User updated'); $userLogs = activity()->getLogsFor($user); ``` 这就是使用 `spatie/laravel-activitylog` 扩展记录二次日志的基本步骤。你可以查看扩展的文档以获取更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值