Download the PHP package bgeneto/ci4-audits without Composer
On this page you can find all versions of the php package bgeneto/ci4-audits. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bgeneto/ci4-audits
More information about bgeneto/ci4-audits
Files in bgeneto/ci4-audits
Package ci4-audits
Short Description Simple and lightweight audit logging for CodeIgniter 4
License MIT
Homepage https://github.com/bgeneto/ci4-audits
Informations about the package ci4-audits
ci4-audits
Simple and lightweight audit logging for CodeIgniter 4
Quick Start
- Install with Composer:
> composer require bgeneto/ci4-audits
- Update the database:
> php spark migrate --all
- Set up your models:
Features
Provides ready-to-use object logging for CodeIgniter 4
Installation
Install easily via Composer to take advantage of CodeIgniter 4's autoloading capabilities and always be up-to-date:
Or, install manually by downloading the source files and adding the directory to
app/Config/Autoload.php
.
Once the files are downloaded and included in the autoload, run any library migrations to ensure the database is setup correctly:
Configuration (optional)
The library's default behavior can be altered by extending its config file. Copy examples/Audits.php to app/Config/Audits.php and follow the instructions in the comments. If no config file is found in app/Config the library will use its own.
Usage
Once the library is included all the resources are ready to go and you just need to specify which models and events to audit. Use AuditsTrait to add support to any models you would like tracked:
Then specify which events you want audited by assigning the corresponding audit methods for those events in the constructor (or initialize()
):
The Audits library will create basic logs of each event in the audits
table, for example:
id | source | source_id | user_id | event | summary | data | created_at |
---|---|---|---|---|---|---|---|
10 | sites | 27 | 9 | create | 2 fields: name, phone | (NULL) | 2024-04-05 15:58:40 |
11 | jobs | 11 | 8 | update | 1 fields: description | (NULL) | 2024-04-05 16:01:35 |
If you want to log arbitrary data you can use the logEvent
static method anywhere in your code:
The library will record the data (as json) in the audits
table with the class and method names that called it, for example:
id | source | source_id | user_id | event | summary | data | created_at |
---|---|---|---|---|---|---|---|
12 | App\Controllers\User\Profile | 0 | 2 | update | Profile data changed | {"name":"John Doe"} | 2024-04-06 10:59:01 |
13 | App\Controllers\Login | 0 | 3 | action | User Logged in | {"user":"Foo Bar","email":"[email protected]"} | 2024-04-06 11:00:05 |