CodeIgniter Forums
Object Logging Library - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forum-28.html)
+--- Forum: CodeIgniter 4 Addins (https://forum.codeigniter.com/forum-34.html)
+--- Thread: Object Logging Library (/thread-73284.html)



Object Logging Library - MGatner - 04-07-2019

Hi all! I'd like to share my first completely original CodeIgniter4 Library. While my other libraries so far have been mostly ports from CI3, this one was conceived and implemented entirely from working in CI4. It's another lightweight library designed to "plug and play" so you don't have to worry about how to set it up or spend a lot of time configuring.
Presenting:


Tatter/Audits - out-of-the-box object event logging for CodeIgniter 4

Basic usage:
1. Install with Composer: `> composer require tatter/audits`
2. Update the database: `> php spark migrate:latest -all`
3. Setup your models:
PHP Code:
class JobModel extends Model
{
use \
Tatter\Audits\Traits\AuditsTrait;
protected 
$afterInsert = ['auditInsert'];
protected 
$afterUpdate = ['auditUpdate'];
protected 
$afterDelete = ['auditDelete']; 
4. All done!

Audits will watch for insert, update, and delete calls (or whichever you include) on configured models and log it in the `audits` table:
Code:
| id | source | source_id | user_id | event  | summary  |          created_at |
+----+--------+-----------+---------+--------+----------+---------------------+
| 10 | sites  |        27 |       9 | create | 2 rows   | 2019-04-05 15:58:40 |
| 11 | jobs   |        10 |       9 | update | 5 rows   | 2019-04-05 16:01:35 |
(Logs are batched to optimize database calls.)


I am eager for feedback, suggestions, and contributions - feel free to respond here or on GitHub (https://github.com/tattersoftware/codeigniter4-audits).
Thanks for reading!