/yii2-audit

Yii2 Audit records and displays web/cli requests, database changes, php/js errors and associated data.

Primary LanguagePHPOtherNOASSERTION

Yii2 Audit

Join Chat Latest Version Software License Build Status HHVM Coverage Status Quality Score Total Downloads Yii2 Framework

Yii2 Audit records and displays web/cli requests, database changes, php/js errors and associated data.

PHP7.2 & Yii 2.0.13 or later

From PHP 7.2 on Object became a reserved keyword. The people from Yii changed their Object-implementation, calling it BaseObject, with a fallback Object class for PHP < 7.2.

We opted - to not force everyone to Yii 2.0.13 right away - to split our releases in 2 branches.

Version 1.0.* is currently a maintenance version. We'll keep adding bugfixes and things like translations for a while, probably until 2.0.13 is a bit more common. You can use it as long as you aren't on PHP 7.2.

For all other cases, please use version 1.1.*.

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 on Yii::$app->user->id.
  • ip - IP Address of the visitor.
  • request_method - The method used to generate the request, eg: CLI for console requests and GET, POST, DELETE, PUT, PATCH, OPTIONS or HEAD 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 info
  • JavascriptPanel - Automatically log JavaScript errors. Errors and warning are logged automatically by including JSLoggingAsset asset bundle. The javascript component also provides methods to manually add logging entries. more info
  • LogPanel - Yii logs.
  • MailPanel - Emails that were sent during the request. more info
  • ProfilingPanel - Application profiling information.
  • TrailPanel - Database changes that were made during the request using the AuditTrailBehavior. more info
  • ExtraDataPanel - Extra data that you want to store. more info
  • CurlPanel - Track your applications cURL requests (including replies, log and headers) more info
  • YourOwnPanel - 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

Dashboard

Entry View

Audit 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

License

BSD-3 - Please refer to the license. Analytics