# wpide/3.5.8/App/Services/Logger/Adapters/MonoLogger.php

WPIDE – File Manager &amp; Code Editor, version 3.5.8. 32 lines.

- Page: https://pluginprobe.com/plugins/wpide/3.5.8/code/App/Services/Logger/Adapters/MonoLogger.php
- Raw: https://pluginprobe.com/plugins/wpide/3.5.8/raw/App/Services/Logger/Adapters/MonoLogger.php
- Modified: 2022-07-30T20:33:10+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wpide/3.5.8/code/App/Services/Logger/Adapters/MonoLogger.php#L10-L20`.

```php
<?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);
    }
}

```
