Description
Class logger spy interaction with class and show into log, (*1)
Interaction contains,
- name of class
- name method called
- params passed
- return value, (*2)
Log compatible with PSR3-Logger for usage,
- Console log into cli (example)
- ChromePHP handler
- Decorate logger for one logger available after, (*3)
It's possible spy,
- Abstract class
- Final class
- Class, (*4)
It's not possible spy,
- Trait (for the moment support 90%)
- Internal php class (futur support multiple driver php-aop maybe possible), (*5)
It's possible use discovery class with interface., (*6)
Installation
$ composer require darkilliant/class-logger
Usage
On entry point file add instructions,, (*7)
<?php
namespace App;
use Darkilliant\ClassLogger\ClassLogger;
use Darkilliant\ClassLogger\Logger\StdLogger;
//...
$classLoggerProxyGenerator = new ClassLogger(__DIR__.'/../../cache', __DIR__.'/vendor/autoload.php');
$classLoggerProxyGenerator->setLogger(new StdLogger('php://stdout'));
$classLoggerProxyGenerator->enable();
$classLoggerProxyGenerator->spy('FullQualitifiedClassName');
And use normalyse, (*8)
Demo
Console line mode
$ git clone class-logger && cd class-logger
$ composer install
$ cd src/demo
$ composer install
$ php demo.php
Web mode
$ git clone class-logger && cd class-logger
$ composer install
$ cd src/demo
$ composer install
$ php -S 0.0.0.0:80
- Install extension chrome https://chrome.google.com/webstore/detail/chrome-logger/noaneddfkdjfnfdakjjmocngnfkfehhd
- Click on the icon on chrome for active logger
- Go to demo web
Qualité
, (*9)