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
Audit Bundle

Audit Bundle Laravel Package

nti/audit-bundle

nti/audit-bundle provides audit trail functionality for Symfony applications, automatically logging Doctrine entity changes such as creates, updates, and deletes with configurable storage and user attribution for reliable change history.

View on GitHub
Deep Wiki
Context7

nti/audit-bundle adds transparent audit logging to Doctrine-backed applications, automatically recording every create, update, and delete as a structured audit entry. Each record captures the changed fields with before/after values, the acting user, request metadata, and a timestamp—giving you a reliable, queryable history without touching your domain code.

  • Zero-config Doctrine listener for automatic change tracking
  • Field-level diffs with before/after values
  • Captures user, IP address, and timestamp per entry
  • Configurable entity and field exclusions
  • Pluggable storage and custom audit entry models
Frequently asked questions about Audit Bundle
Is nti/audit-bundle a Laravel package?
No. nti/audit-bundle is a Symfony bundle built on Doctrine ORM's onFlush event lifecycle, and it has no Laravel service provider, facade, or Eloquent integration. Installing it in a Laravel app will not wire anything up automatically. Treat it as a Symfony-only package.
Can I use nti/audit-bundle with Laravel and Eloquent?
Not directly. Eloquent has no Doctrine Unit of Work, so the bundle's change-set listener has nothing to hook into, and you would have to fork and rewrite the listener for Eloquent model events. For Laravel, use a native auditing package or a model-observer implementation instead.
What does nti/audit-bundle actually do?
It records Doctrine entity creates, updates, and deletes by inspecting the Unit of Work change sets during onFlush, storing old and new values plus user context. That gives you who changed what and when for Symfony and Doctrine applications. It is not an Eloquent or Laravel auditing tool.
Which Laravel package should I use instead of nti/audit-bundle?
The closest functional match is owen-it/laravel-auditing, which is Eloquent-native and captures field-level before and after diffs. If you need an activity feed rather than compliance-grade change history, spatie/laravel-activitylog is lighter. A custom observer plus an audits table is justified only for special retention, partitioning, or tamper-evidence needs.
Does nti/audit-bundle support Laravel 10 or Laravel 11?
Neither. The package is constrained to Symfony 3, which reached end of life in November 2021, and it has no Laravel version support at all. There is no Laravel 10 or Laravel 11 release to install. Use a maintained Laravel-native auditing package instead.
Is nti/audit-bundle still maintained and safe for production?
No, it is high risk. The package targets Symfony 3, which has been EOL since November 2021 and is unpatched against years of framework CVEs. It has roughly one star and zero dependents, so there is no evidence of production use. The 2024 release tag looks like a maintenance tag, not active modernization.
How do I build an audit trail for Laravel models without this package?
The standard approach is a model observer or Eloquent event listener that writes to a polymorphic audits table on created, updated, and deleted events. Capture the actor, timestamp, model type and ID, and a diff from getChanges() or getDirty(). You can build this yourself or use owen-it/laravel-auditing, which already implements the pattern.
Does nti/audit-bundle relate to Datadog?
No. The DataDogAuditBundle name is lineage from the original simplethings/datadog-audit-bundle, not a Datadog product. There is no vendor backing or commercial support implied. Do not assume Datadog integration or support.
How do I migrate an audit trail from Symfony and Doctrine to Laravel?
Treat the Symfony bundle as a requirements input rather than a dependency. Extract the design intent, including insert, update, and delete events with actor, timestamp, entity identity, and changed-field diff, then map it to an Eloquent observer or a Laravel auditing package. After that, backfill existing audit rows into your new table schema.
How do I test audit logging in a Laravel app?
In Laravel, write feature tests that act on a model and assert the audits table received the expected row, including actor, event, and old and new values. Use RefreshDatabase and freeze time where timestamps matter. If you use owen-it/laravel-auditing, its test helpers and assertions cover the common cases.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections