Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Audit Log Laravel Package

iamfarhad/laravel-audit-log

A lightweight, easy-to-use audit logging package for Laravel that automatically records model creations, updates, and deletions. It tracks who changed what and when, supports custom events and tags, and makes querying your audit trail simple and reliable.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for audit/compliance logging. A maintained Laravel-native audit log package turns "we need a change history for compliance/security review" from a multi-sprint build into an install-and-configure decision. The 1.7.1 release adds a global audit disable config, which removes a common reason teams give for building their own (they want to suppress audit writes during migrations, seeders, bulk imports, or test runs).
  • Feature scoping: audit trail as a capability, not a project. Because audit writes can be globally toggled, you can decouple "audit logging" from release scope — ship it early, and disable it in environments or windows where it's noise (local dev, data backfills, load tests) without code changes per model.
  • Operational risk decisions. Global disable is a policy knob, not just a dev convenience. It supports decisions like: do we allow audit suppression in production at all? Who can flip it? If it's env/config-driven, it's a deploy-time decision (good for control) rather than a runtime admin toggle (better for incidents, worse for tamper-evidence).
  • Roadmap input for the audit/compliance workstream. The release signals the maintainer is responsive to operational feedback (this looks like a first-time contributor PR). That's a reasonable signal for betting on the package short-term, but one data point is not a track record — track release cadence and issue responsiveness before it becomes load-bearing for compliance.
  • Use cases it credibly serves: who-changed-what on core entities, internal support/debugging ("why did this record change?"), SOC 2 / ISO-style change-tracking evidence, and post-incident forensics. It does not by itself satisfy tamper-evident or retention-policy requirements.

When to Consider This Package

Adopt it when:

  • You're on a supported Laravel version and want model-level change history without building observers, diffing, and storage from scratch.
  • Your audit needs are internal and evidentiary-lite — support, debugging, and "reasonable" compliance posture — not regulated, tamper-proof, or WORM-style retention.
  • You need to suppress audit writes in non-production or during bulk operations; 1.7.1 makes that a config concern rather than a code fork. Verify how it's wired (env var vs. runtime config) before relying on it in production.
  • You want a small, single-purpose dependency you can read end-to-end and swap later.

Look elsewhere when:

  • You need immutable/append-only guarantees, cryptographic chaining, or signed audit records — a togglable global switch is in tension with tamper-evidence, and that trade-off needs an explicit decision, not a default.
  • You need request-level context, actor impersonation tracking, retention/partitioning at scale, or first-class export to a SIEM.
  • You're a large org where a single-maintainer package becomes a supply-chain and bus-factor concern. In that case, budget for forking or expect to absorb maintenance.
  • Audit is a contractual or regulatory obligation. Then the requirement is a platform decision (dedicated audit service, database-level CDC, or a vendor), not a Composer package.

Before committing, get answers on: default-on vs. default-off behavior, whether disabling is logged anywhere, per-model vs. global granularity, storage growth and pruning strategy, and PII handling in the stored diffs (audit tables are a classic accidental-PII-reservoir).

How to Pitch It (Stakeholders)

To executives: We can deliver change-history and a baseline audit trail using an existing, actively maintained open-source Laravel component instead of a bespoke build — days rather than weeks, with no licensing cost. The latest release adds a configuration switch so we can turn auditing off during maintenance and data migrations, which keeps the signal clean and avoids polluting the audit record with machine-generated noise. Caveat to state plainly: this gives us practical audit capability, not certified tamper-proof records; if we need that, it's a separate, larger investment.

To engineering: Adds a global audit-disable config, so you can silence audit writes for seeders, bulk imports, and noisy test suites without touching model code or forking. Adopt it as a thin layer over Eloquent observers, confirm the toggle is environment/config-driven and not a runtime endpoint before we treat it as production-safe, and check the disable path is itself visible to operators. Two open items for the spike: how stored diffs handle sensitive fields, and what the retention/pruning story is — that's our real long-term cost, not the install.

Recommendation: Worth a short, time-boxed evaluation on one non-critical domain first. Green-light broader rollout only after we've validated the disable mechanism, PII handling in diffs, and the maintainer's release track record.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels