![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/ObjectManager/Profiler/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\ObjectManager\Profiler; class FactoryDecorator implements \Magento\Framework\ObjectManager\FactoryInterface { /** * Name of the class that generates logging wrappers */ const GENERATOR_NAME = \Magento\Framework\ObjectManager\Profiler\Code\Generator\Logger::class; /** * @var \Magento\Framework\ObjectManager\FactoryInterface */ protected $subject; /** * @var Log */ protected $log; /** * @param \Magento\Framework\ObjectManager\FactoryInterface $subject * @param Log $log */ public function __construct(\Magento\Framework\ObjectManager\FactoryInterface $subject, Log $log) { $this->subject = $subject; $this->log = $log; } /** * @param \Magento\Framework\ObjectManagerInterface $objectManager * * @return void */ public function setObjectManager(\Magento\Framework\ObjectManagerInterface $objectManager) { $this->subject->setObjectManager($objectManager); } /** * {@inheritdoc} */ public function create($requestedType, array $arguments = []) { $this->log->startCreating($requestedType); $result = $this->subject->create($requestedType, $arguments); if ($requestedType !== self::GENERATOR_NAME) { $loggerClassName = get_class($result) . "\\Logger"; $wrappedResult = new $loggerClassName($result, $this->log); $this->log->stopCreating($result); $result = $wrappedResult; } return $result; } }