1cool/laravel-auditing-elasticsearch

为 owen-it/laravel-auditing 包提供的 Elasticsearch 驱动。允许将审计存储在 Elasticsearch 中。

2.0 2020-04-22 04:26 UTC

This package is auto-updated.

Last update: 2024-09-22 14:50:56 UTC


README

Latest Unstable Version Total Downloads License

此驱动程序提供了将模型审计保存到 Elasticsearch 的能力。

内容

安装

此驱动程序要求您使用 owen-it/laravel-auditing: ^7.0。如果满足此条件,您可以像这样安装驱动程序:

composer require 1cool/laravel-auditing-elasticsearch

设置

如果您需要更改驱动程序默认行为,请在 config/audit.php 中添加以下配置条目。配置文件的 queue 键应如下所示

    ...
    'queue' => env('AUDIT_QUEUE', true),
    ...

    ...
    'queue' => env('AUDIT_QUEUE', [
        'queue' => 'default',
        'connection' => 'redis'
    ]),
    ...

配置文件的 driver 键应如下所示

    ...
    'driver' => Iconscout\Auditing\Drivers\ElasticSearch::class,
    ...

配置文件的 drivers 键应如下所示

    ...
    'drivers' => [
        'database' => [
            'table'      => 'audits',
            'connection' => null,
        ],
        'es' => [
            'client' => [
                'hosts' => [
                    env('AUDIT_HOST', 'localhost:9200')
                ]
            ],
            'index' => env('AUDIT_INDEX', 'laravel_auditing'),
            'type' => env('AUDIT_TYPE', 'audits')
        ],
    ],
    ...

控制台命令

以下列出了可用的 artisan 命令

命令 | 参数 | 描述 --- | --- | auditing:es-index | 将所有模型的记录索引到搜索索引中。 | auditing:es-delete | 从索引中删除所有模型的记录。

在命令行中运行 php artisan help [command] 以获取详细描述和所有可用选项。

用法

您可以使用 Elasticsearch 驱动程序在任何可审计的模型中,如下所示,以将审计记录存储在 Elasticsearch 中:

<?php
namespace App\Models;

use Iconscout\Auditing\Drivers\ElasticSearch;
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Auditable;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;

class SomeModel extends Model implements AuditableContract
{
    use Auditable;

    /**
     * ElasticSearch Audit Driver
     *
     * @var Iconscout\Auditing\Drivers\ElasticSearch
     */
    protected $auditDriver = ElasticSearch::class;

    // ...
}

您可以使用 ElasticsearchAuditable 特性在任何可审计的模型中,如下所示,以从 Elasticsearch 中检索审计记录:

<?php
namespace App\Models;

use Iconscout\Auditing\Drivers\ElasticSearch;
use Iconscout\Auditing\Traits\ElasticSearchAuditable;
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Auditable;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;

class SomeModel extends Model implements AuditableContract
{
    use Auditable, ElasticSearchAuditable;

    /**
     * ElasticSearch Audit Driver
     *
     * @var Iconscout\Auditing\Drivers\ElasticSearch
     */
    protected $auditDriver = ElasticSearch::class;

    // ...
}
// Get first available Icon
$icon = Icon::first();

// Get all associated Audits
$all = $icon->esAudits;

// Get all associated Audits via parameters ($page & $perPage)
$all = $icon->esAudits($page = 1, $perPage = 10);

捐赠

通过 贡献 或捐赠一小笔资金来帮助保持项目开发。提前感谢。

通过 Paypal 直接捐赠

Donate

有关使用 owen-it/laravel-auditing 的自定义驱动程序的更多信息,请参阅他们的 主页