The pool of different loggers wich impliments \PSR\Log\LoggerInterface
, (*1)
Installation
The preferred way to install this extension is through composer and then run, (*2)
composer require elementary/logger-pool
Usage
use elementary\logger\pool\LoggerPool;
use elementary\logger\traits\LoggerGetInterface;
use elementary\logger\traits\LoggerTrait;
use elementary\logger\graylog\udp\GraylogUdp;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\NullLogger;
class Example implements LoggerGetInterface, LoggerAwareInterface
{
use LoggerTrait;
public function doSomeThing()
{
// Do some thing
$this->getLogger()->debug('do some thing');
// Runtime error should be logged and monitored
$this->getLogger()->error('Attantion! The error was happened!');
}
}
LoggerPool::me()->setLogger(new NullLogger());
LoggerPool::me()->setLogger(new GraylogUdp('test', 'localhost', 12201), 'warning');
$ex = new Example();
$ex->setLogger(LoggerPool::me());
$ex->doSomeThing();
Testing and Code coverage
Unit Tests are located in tests directory.
You can run your tests and collect coverage with the following command:, (*3)
vendor/bin/phpunit
Result of coverage will be output into the tests/output directory., (*4)
License
For license information check the LICENSE-file., (*5)