tiacx/laravel-operation-log
最新稳定版本:1.0.0
Composer 安装命令:
composer require tiacx/laravel-operation-log
包简介
Laravel-OperationLog - An extension to record model operation logs.
README 文档
README
一个记录模型操作日志的扩展
一、安装
composer require tiacx/laravel-operation-log
二、发布配置
php artisan vendor:publish --provider="Tiacx\OperationLog\OperationLogProvider"
三、快速开始
在 Model 中添加 HasOperationLog 特征即可:
use Tiacx\OperationLog\Models\Traits\HasOperationLog; class Post extends Model { use HasOperationLog; }
现在,每当您创建、更新或删除 Post 模型的记录时,都会在 'operation_logs' 表中创建一个操作日志。
四、指定记录的属性
在 Model 中添加 $logAttributes 属性或 getLogAttributes() 方法,以指定需要记录的属性:
use Tiacx\OperationLog\Models\Traits\HasOperationLog; class Post extends Model { use HasOperationLog; public $logAttributes = ['title', 'content']; public function getLogAttributes() { return ['title', 'content']; } }
五、手动写入日志
通过使用 OperationLogHelper::createLog() 方法,您可以手动写入日志:
use Tiacx\OperationLog\Helpers\OperationLogHelper; OperationLogHelper::createLog($post, 'custom', [ 'content' => "日志内容", 'post_id' => $ware->id, 'post_name' => $ware->name, ]);
注:手动写日志时,$operationType 固定为 custom,且日志内容必须包含 content 键。其他键值对可根据实际情况添加。
六、自定义配置
您可以修改 config/operation-log.php 文件中的配置,以自定义日志记录。
<?php return [ 'table_name' => env('OPERATION_LOG_TABLE_NAME', 'operation_logs'), 'connection' => env('OPERATION_LOG_DB_CONNECTION', 'default'), 'user_model' => env('OPERATION_LOG_USER_MODEL', 'App\Models\User'), 'guard' => env('OPERATION_LOG_GUARD', env('AUTH_GUARD', 'web')), ];
table_name:操作日志表的名称,默认值为operation_logs。connection:操作日志表的数据库连接,默认值为default。user_model:操作日志记录的用户模型,默认值为App\Models\User。guard:操作日志记录的用户守护,默认值为web。
注:如需修改日志表名,除修改配置文件中的 table_name 值外,还需要手动修改数据库迁移文件。
七、查询操作日志
对于有使用 HasOperationLog 特征的模型,您可以通过 $model->operationLogs() 来获取操作日志:
$post = Post::find(1); $logs = $post->operationLogs();
对于没有使用 HasOperationLog 特征的模型,或者想查询所有操作日志时候,可使用 OperationLog 模型来查询操作日志:
use Tiacx\OperationLog\Models\OperationLog; $logs = OperationLog::query()->get();
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-03-11