aarvaos / reporting
A very light & easy logger of elements at user-defined levels
v1.0.0
2026-07-30 11:18 UTC
Requires
- php: ^8.1
Requires (Dev)
- ext-mbstring: *
- friendsofphp/php-cs-fixer: ^3.95
- phpstan/phpstan: ^2.2
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpunit/phpunit: ^10.5
README
A very light, handy and easy-to-use library to log and track all kind of elements you want to report.
Concept
Whenever you need to keep track of anything happening in your code so you can audit at a later stage, you may use a aarvaos\Report object!
Install
Use Composer composer require aarvaos/reporting and you're done!
Use
Simple use case demo:
const NEUTRAL = 0; const SERIOUS = 10; const CRITICAL = 25; $report = new \aarvaos\Report(); $report->log(1, "Something light happened."); $report->log(SERIOUS, "Something serious happened!"); $report->log(-4, "Something negligible happened..."); $report->getSeverity(); // 10 $report->hasSeverityReached(9); // true $report->hasSeverityReached(CRITICAL); // false
Of course you can also retrieve the recorded elements:
$report->getLogs(); // [Log<1, ...>, Log<10, ...>, Log<-4, ...>] foreach($report->iterateLogs() as $log) { // $log = Log<1, ...>, // $log = Log<10, ...>, // $log = Log<-4, ...>. }
... And even filter and sort:
$report->getLogs(-4); // [Log<-4, ...>] foreach($report->iterateLogs(\aarvaos\Report::SORT_SEVERITY_ASC, below: 5) as $log) { // $log = Log<-4, ...>, // $log = Log<1, ...>. }