betapeak/laravel-auditing-filesystem

owen-it/laravel-auditing 包的文件系统驱动。允许在所有注册的 Laravel 磁盘中以 CSV 文件的形式存储审计记录。


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

如果您想使用远程磁盘进行测试,您需要先安装 DockerDocker Compose

您需要运行 docker-compose up -d,这将启动一个本地的 s3 minio 实例,这将允许测试远程磁盘。

现在您可以运行 vendor/bin/phpunitvendor/bin/phpunit --testsuite remote