tsitsishvili/elastic-audit

Laravel package that logs third-party HTTP traffic (outgoing requests and incoming callbacks) and actor/model activity to a dedicated Elasticsearch cluster, with redaction, queued indexing, sampling, and optional dashboards.

Maintainers

Package info

github.com/tsitsishvili/elastic-audit

pkg:composer/tsitsishvili/elastic-audit

Transparency log

Statistics

Installs: 74

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v3.0.3 2026-07-06 18:26 UTC

This package is auto-updated.

Last update: 2026-07-06 18:27:34 UTC


README

Laravel package that logs third-party HTTP traffic and actor/model activity to a dedicated Elasticsearch cluster.

Elastic Audit is intended for internal applications that need a consistent audit/debug trail for provider calls, callbacks, latency, status codes, entity context, sanitized payload previews, and domain activity. The package has two independent subsystems that share one Elasticsearch connection:

  • Audit logs / HTTP logs — outgoing third-party requests and incoming callbacks through the HttpLog facade and HTTP middleware.
  • Activity logs — actor actions and Eloquent model changes through the ActivityLog facade and ActivityLoggable trait.

Each subsystem has its own config, Elasticsearch index/aliases, queue, console commands, and optional dashboard, so an application can enable only what it needs.

Guides

Screenshots

HTTP logs overview

Activity logs overview

Quick Start

  1. Add the package repository to the consuming application's composer.json (see Installation).

  2. Install the package:

    composer require tsitsishvili/elastic-audit
  3. Publish config files and enum stubs (see Publish Configuration):

    php artisan vendor:publish --tag=elastic-audit
  4. Configure Elasticsearch and enable the subsystem you need in .env (see Environment Variables and Register Application Enums).

  5. Install the lifecycle policy, then create the Elasticsearch indices and aliases (HTTP · Activity):

    php artisan elastic-audit:lifecycle-policy
    php artisan http-logs:create-index
    php artisan activity-logs:create-index
  6. Run a queue worker for the configured logs queue (see Queues):

    php artisan queue:work --queue=default

For usage, see logging outgoing requests, logging incoming callbacks, and recording activity.

Requirements

  • PHP ^8.2
  • Laravel ^12.0 || ^13.0
  • Elasticsearch PHP client ^8.5 || ^9.0
  • A queue worker, because logs are indexed through queued jobs

Project Documents

Internal Versioning

Use Git tags as Composer versions.

git tag v1.0.0
git push origin v1.0.0

Recommended policy:

  • Patch: bug fixes only, for example v1.0.1
  • Minor: backward-compatible features, for example v1.1.0
  • Major: breaking config, contract, class, or behavior changes, for example v2.0.0

Applications should depend on stable tags:

{
  "require": {
    "tsitsishvili/elastic-audit": "^3.0"
  }
}

Avoid using dev-main in production applications.