devengine / laravel-auditing-filesystem
owen-it/laravel-auditing 包的文件系统驱动。允许将审计存储在 CSV 文件中,跨所有注册的 Laravel 磁盘。
Requires
- php: ^7.3|^8.0
- ext-json: *
- league/csv: ^9.0
- league/flysystem: ~1.0
- owen-it/laravel-auditing: ^12.0
Requires (Dev)
- league/flysystem-aws-s3-v3: ^1.0
- orchestra/testbench: ^6.23
This package is auto-updated.
Last update: 2024-09-24 20:18:01 UTC
README
此驱动程序提供了将模型审计保存到 CSV 文件的能力。它与 Laravel 的存储系统集成,因此您可以使用应用程序中指定的任何磁盘作为审计文件的存储目标。
我们也认识到,许多系统会生成大量的审计操作,这就是为什么该软件包允许指定审计文件的生成方式 - 从一个平铺的全捕获文件到为每个运营小时生成文件。
安装
此驱动程序需要您使用 owen-it/laravel-auditing: ^7.0
。如果满足此条件,您可以通过以下方式安装驱动程序
composer require betapeak/laravel-auditing-filesystem
设置
如果需要更改驱动程序默认行为,请将以下配置条目添加到 config/audit.php 中。配置文件的 drivers
键应如下所示
...
'drivers' => [
'database' => [
'table' => 'audits',
'connection' => null,
],
'filesystem' => [
'disk' => 'local',
'dir' => 'audit',
'filename' => 'audit.csv',
'logging_type' => 'single',
],
],
...
为了简化,只有 4 个设置可以调整,下面将进行描述
用法
您可以在任何 Auditable 模型(本地)中使用此驱动程序,如下所示
<?php
namespace App\Models;
use BetaPeak\Auditing\Drivers\FilesystemDriver;
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Auditable;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;
class SomeModel extends Model implements AuditableContract
{
use Auditable;
/**
* Filesystem Audit Driver
*
* @var BetaPeak\Auditing\Drivers\Filesystem
*/
protected $auditDriver = FilesystemDriver::class;
// ...
}
或全局地,在 config/audit.php 中如下所示
return [
// ...
'driver' => BetaPeak\Auditing\Drivers\FilesystemDriver::class,
// ...
];
有关使用 owen-it/laravel-auditing 的社区驱动程序的更多信息,可以在其 主页 上找到
测试
可以使用 phpunit 测试此软件包。您需要运行 composer install
(带有开发依赖项)。
默认情况下,您只能运行 vendor/bin/phpunit --testsuite local
。
如果您想使用远程磁盘进行测试,您需要先安装 Docker 和 Docker Compose。
您需要运行 docker-compose up -d
,这将启动一个本地的 s3 minio 实例,这将允许测试远程磁盘。
现在您可以运行 vendor/bin/phpunit
或 vendor/bin/phpunit --testsuite remote