locastic/loggastic
Loggastic is a Laravel package for logging user activity and model changes. It records who did what and when, helping you build audit trails and simplify debugging. Lightweight and easy to drop into existing Laravel applications.
elasticsearch, doctrine, in_memory). A "who changed what, when" feature can now be scoped against the database you already run. That removes the single largest cost line from the buy case and turns this from "buy, plus a cluster" into "buy, plus two tables."users table — usually the better trade for "what did this user do before the bug" at typical volumes.storage: in_memory mirrors real backend semantics (sorting, pagination, per-class isolation) in-process. Activity-logging behaviour becomes unit-testable with zero external services — a small but real reduction in CI cost and flake.Consider it when most of the following hold:
Look elsewhere — or plan a spike/fork — when:
spatie/laravel-activitylog (DB-backed, or with a custom ES driver). A narrow exception: a Laravel app already running Doctrine ORM entities via laravel-doctrine is a genuinely closer fit than before, since doctrine/dbal is now a hard dependency.UPDATE/DELETE rights. No signing, hash-chaining, or WORM guarantee. For SOX/financial-grade audit, buy a dedicated solution.Configuration note for the spike: the storage key defaults to elasticsearch, so an install that never sets it will still register ES services and require a PSR-18 client. Setting storage: doctrine is what actively avoids that.
To executives (one paragraph): We have a recurring ask to show who changed what, and today we have no reliable answer — support reconstructs it by hand and compliance questionnaires are answered with screenshots. Loggastic is a free, MIT-licensed Symfony bundle that records structured activity events, and as of release 2.1.0 it can store them directly in our existing relational database instead of requiring a new Elasticsearch cluster. That changes the economics: the capability is now two database tables and a config line rather than a new piece of infrastructure plus on-call. The remaining trade-off is ownership, not licence cost — it is a small, single-vendor project with negligible industry adoption, and it is Symfony-native, so on our Laravel codebase it is a fork-and-adapt exercise rather than a composer require. Recommendation: on Laravel, default to spatie/laravel-activitylog for the initial ship and treat Loggastic's storage adapter as the reference design if we later need multi-backend flexibility. If any service in the estate is Symfony, this is now a low-risk buy.
To engineering (summary):
doctrine (DBAL schema API, JSON columns, PostgreSQL/MySQL/SQLite, DBAL 3.8+/4.x both in CI, UTC-normalised timestamps, overridable table names, upsert-based tracker writes) and in_memory (full logging semantics in-process for tests). doctrine/dbal ^3.8 || ^4.0 is now an explicit dependency. No breaking changes; default storage is still elasticsearch, so selection is opt-in.spatie/laravel-activitylog on Laravel, or Loggastic itself on Symfony — with an Elasticsearch driver swapped in later. v2.1.0 is evidence that this seam holds up in practice, which is the strongest argument for keeping framework-specific coupling out of the domain layer.How can I help you explore Laravel packages today?