azeemhassni / laravel-auditing-filesystem
owen-it/laravel-auditing 包的文件系统驱动。允许将审计存储在 CSV 文件中,覆盖所有注册的 Laravel 磁盘。
Requires
- php: >=7.0
- ext-json: *
- league/csv: ^9.0
- league/flysystem: ~1.0
- owen-it/laravel-auditing: ^10.0
Requires (Dev)
- league/flysystem-aws-s3-v3: ^1.0
- orchestra/testbench: ^5.1
This package is auto-updated.
Last update: 2024-09-13 22:51:02 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 个设置可以调整,下面将进行描述:
用法
您可以在任何可审计的模型(本地)中使用此驱动程序,如下所示:
<?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