123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Deploy\Console;
- use Magento\Framework\Exception\LocalizedException;
- use Magento\Framework\Phrase;
- use Magento\Setup\Model\ObjectManagerProvider;
- use Psr\Log\LoggerInterface;
- use Symfony\Component\Console\Output\OutputInterface;
- /**
- * Factory class for @see \Magento\Deploy\Console\ConsoleLogger
- *
- * This factory can be requested only in CLI command classes constructors
- */
- class ConsoleLoggerFactory
- {
- /**
- * Object manager instance
- *
- * @var ObjectManagerProvider
- */
- private $objectManagerProvider;
- /**
- * Type of logger instance to create
- *
- * @var string
- */
- private $type;
- /**
- * ConsoleLoggerFactory constructor
- *
- * @param ObjectManagerProvider $objectManagerProvider
- * @param string $type
- */
- public function __construct(ObjectManagerProvider $objectManagerProvider, $type = ConsoleLogger::class)
- {
- $this->objectManagerProvider = $objectManagerProvider;
- $this->type = $type;
- }
- /**
- * Create new logger instance
- *
- * @param OutputInterface $output
- * @param int $verbose
- * @return ConsoleLogger
- * @throws LocalizedException
- */
- public function getLogger(OutputInterface $output, $verbose)
- {
- $output->setVerbosity($verbose);
- $logger = $this->objectManagerProvider->get()->create($this->type, ['output' => $output]);
- if (!$logger instanceof LoggerInterface) {
- throw new LocalizedException(
- new Phrase("Wrong logger interface specified.")
- );
- }
- return $logger;
- }
- }
|