<?php
namespace WPIDE\App\Services\Logger\Adapters;
use WPIDE\App\Services\Logger\LoggerInterface;
use WPIDE\App\Services\Service;
use Monolog\ErrorHandler;
use Monolog\Logger;
class MonoLogger implements Service, LoggerInterface
{
protected $logger;
public function init(array $config = [])
{
$this->logger = new Logger('default');
foreach ($config['monolog_handlers'] as $handler) {
$this->logger->pushHandler($handler());
}
$handler = new ErrorHandler($this->logger);
$handler->registerErrorHandler([], true);
$handler->registerFatalHandler();
}
public function log(string $message, int $level = Logger::INFO)
{
$this->logger->log($level, $message);
}
}