If you want to use default logger Bartlett\Reflect\Plugin\Log\DefaultLogger
,
skip this section.
If you want to use your own version of log plugin, use following pattern.
<?php namespace YourNamespace; use Bartlett\Reflect\Plugin\LogPlugin as BaseLogPlugin; class LogPlugin extends BaseLogPlugin { // all additional code you need }
And the configuration in JSON file :
{ "source-providers": [ ], "plugins": [ { "name": "Logger", "class": "YourNamespace\\LogPlugin", "options": [] } ], "analysers" : [ ], "services": [ ] }
Use a solution similar to ErrorLogHandler of Monolog project.
{ "source-providers": [ ], "plugins": [ { "name": "Logger", "class": "Bartlett\\Reflect\\Plugin\\LogPlugin", "options": [] } ], "analysers" : [ ], "services": [ ] }
It logs records at Psr\Log\LogLevel::INFO
level or highter, identified
by channel name DefaultLoggerChannel
.
Use your own logger, that must be compatible PSR-3.
<?php namespace YourNamespace; use Psr\Log\AbstractLogger; class YourLogger extends AbstractLogger { public function log($level, $message, array $context = array()) { } }
And identify it in the JSON config file, as follow
{ "source-providers": [ ], "plugins": [ { "name": "Logger", "class": "YourNamespace\\LogPlugin" } ], "analysers" : [ ], "services": [ ] }
Or even
{ "source-providers": [ ], "plugins": [ { "name": "Logger", "class": "Bartlett\\Reflect\\Plugin\\LogPlugin", "options": "YourNamespace\\YourLogger" } ], "analysers" : [ ], "services": [ ] }
See full example at https://raw.githubusercontent.com/llaville/php-reflect/master/examples/api_analyser_run_with_logger.php
Use one of the most famous logging solution compatible PSR-3.
![]() | |
If you want to use Monolog with Reflect on CLI mode, then you should use a wrapper like this. |
<?php namespace YourNamespace; use Monolog\Logger; use Monolog\Handler\StreamHandler; class YourLogger extends Logger { public function __construct($name = 'YourLoggerChannel') { $stream = new StreamHandler('/var/logs/phpreflect.log'); parent::__construct($name, array($stream)); } }
And with JSON config file as follow
{ "source-providers": [ ], "plugins": [ { "name": "Logger", "class": "Bartlett\\Reflect\\Plugin\\LogPlugin", "options": "YourNamespace\\YourLogger" } ], "analysers" : [ ], "services": [ ] }