<?php namespace Alltube\Factory; use Consolidation\Log\Logger; use Consolidation\Log\LoggerManager; use Consolidation\Log\LogOutputStyler; use Slim\Container; use Symfony\Component\Console\Output\ConsoleOutput; use Symfony\Component\Console\Output\OutputInterface; /** * Class LoggerFactory * @package Alltube */ class LoggerFactory { /** * @param Container $container * @return LoggerManager */ public static function create(Container $container): LoggerManager { $config = $container->get('config'); if ($config->debug) { $verbosity = OutputInterface::VERBOSITY_DEBUG; } else { $verbosity = OutputInterface::VERBOSITY_NORMAL; } $loggerManager = new LoggerManager(); $logger = new Logger(new ConsoleOutput($verbosity)); $logger->setLogOutputStyler(new LogOutputStyler()); $loggerManager->add('default', $logger); return $loggerManager; } }