bedezign / yii2-audit
Yii2 Audit records and displays web/cli requests, database changes, php/js errors and associated data.
Installs: 516 255
Dependents: 7
Suggesters: 0
Security: 0
Stars: 193
Watchers: 26
Forks: 112
Open Issues: 25
Type:yii2-extension
Requires
- php: >=7.2.0
- ext-bcmath: *
- 2amigos/yii2-chartjs-widget: >=2.0.1 <3.0.0
- phpspec/php-diff: 1.*
- yiisoft/yii2: >=2.0.0 <2.1.0
- yiisoft/yii2-debug: >=2.1.0 <2.2.0
Suggests
- php-mime-mail-parser/php-mime-mail-parser: Allows better displaying of logged emails.
README
Yii2 Audit records and displays web/cli requests, database changes, php/js errors and associated data.
New stewardship from March 2024 on
We (@schmunk42, @eluhr) have taken stewardship of this project. Thank you @Blizzke for adding us to the GitHub maintainer list. Since we are still using this extension extensively, we are focussing on backward-compatibility and improvements.
Upgrading
yii2-audit 1.2.x
Existing projects with non-namespace migrations need to include @bedezign/yii2/audit/migrations/1.1.x
in `migrationPath and skip namespaced migrations. (Issue #271)
PHP7.2 & Yii 2.0.13 or later
From PHP 7.2
on Object
became a reserved keyword.
Since enough time went by, we decided to assume everyone is on 7.2 and Yii 2.0.13 by now we won't be keeping
1.0.*
-branch (pre PHP 7.2) up to date anymore.
Please use version 1.1.*
or later.
Features
Powerful, yet Simple
- Installs as a simple module so it can be added without any hassle.
- You can either track specific actions and nothing else or exclude specific routes from logging (wildcard supported).
- View your data. The module contains a nice viewer that is automatically made available when you add it to your configuration. It has configurable permissions to limit access to this functionality by IPs, roles or users.
Minimal Footprint
Tracks minimal data in the base entry:
user_id
- User ID of the visitor (if any), based onYii::$app->user->id
.ip
- IP Address of the visitor.request_method
- The method used to generate the request, eg:CLI
for console requests andGET
,POST
,DELETE
,PUT
,PATCH
,OPTIONS
orHEAD
for web requests.ajax
- If the page was requested using ajax.route
- The controller and action of the request.duration
- How long the request took to serve.memory_max
- The peak memory usage during the request.created
- The datetime the entry was created.
Log Data using Configurable Panels
Each panel is optional, and you can even create your own.
RequestPanel
- Tracks all incoming web and console request data:- URL Information including the route and params.
- PHP SuperGlobals
$_GET
,$_POST
,$_SERVER
,$_FILES
and$_COOKIES
. - Headers from the Request and Response.
AssetPanel
- Asset Bundles loaded for the request.ConfigPanel
- Yii and PHP configuration that was used for the request.DbPanel
- SQL queries.ErrorPanel
- Record all PHP exceptions and errors in the background. Once logged you can configure a cron task to email the errors to a developer so issues can be fixed before they are even reported by a user. more infoJavascriptPanel
- Automatically log JavaScript errors. Errors and warning are logged automatically by includingJSLoggingAsset
asset bundle. The javascript component also provides methods to manually add logging entries. more infoLogPanel
- Yii logs.MailPanel
- Emails that were sent during the request. more infoProfilingPanel
- Application profiling information.TrailPanel
- Database changes that were made during the request using theAuditTrailBehavior
. more infoExtraDataPanel
- Extra data that you want to store. more infoCurlPanel
- Track your applications cURL requests (including replies, log and headers) more infoYourOwnPanel
- Create your own panel to capture any data you want. more info
Documentation
Getting started? Try the Installation Guide. You will find further information in the Documentation.
For changes since the last version see the Changelog.
Screenshots
Dashboard
Entry View
More Screenshots
More images are available from the Screenshots page.
Contributing
Contributions are welcome. Please refer to the contributing guidelines.
Thanks to everyone who has contributed.
Project Resources
- Project Homepage
- Live Demo
- GitHub Project
- Yii2 Extension
- Packagist Package
- Travis CI Testing
- Scrutinizer CI Code Quality
License
BSD-3 - Please refer to the license.