A elasticsearch driver for the owen-it/laravel-auditing package. Allows storage of the audits in elasticsearch.
cuatao/laravel-auditing-elasticsearch is a Laravel package for a elasticsearch driver for the owen-it/laravel-auditing package. allows storage of the audits in elasticsearch..
It currently has 0 GitHub stars and 3 downloads on Packagist (latest version 1.3).
Install it with composer require cuatao/laravel-auditing-elasticsearch.
Discover more Laravel packages by cuatao
or browse all Laravel packages to compare alternatives.
Last updated
This driver provides the ability to save your model audits in elasticsearch.
This driver requires that you are using owen-it/laravel-auditing: ^7.0. Provided this is fulfilled,
you can install the driver like so:
composer require cuatao/laravel-auditing-elasticsearch
You need to add the following config entries in config/audit.php if you need to change the default behaviour of the driver.
The queue key of the config file should look like so:
...
'queue' => env('AUDIT_QUEUE', true),
...
OR
...
'queue' => env('AUDIT_QUEUE', [
'queue' => 'default',
'connection' => 'redis'
]),
...
The driver key of the config file should look like so:
...
'driver' => Iconscout\Auditing\Drivers\ElasticSearch::class,
...
The drivers key of the config file should look like so:
...
'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')
],
],
...
Available artisan commands are listed below:
Command | Arguments | Description --- | --- auditing:es-index | Index all of the model's records into the search index. auditing:es-delete | Delete all of the model's records from the index.
For detailed description and all available options run php artisan help [command] in the command line.
You can use the ElasticSearch driver in any Auditable model like so in order to store audit records in 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;
// ...
}
You can use the ElasticSearchAuditable trait in any Auditable model like so in order to retrieving Retrieving audit records records from 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);
Help keeping the project development going, by contributing or donating a little. Thanks in advance.
Donate directly via Paypal
More information on using customer drivers with owen-it/laravel-auditing can be found on their homepage