Запись в журнал отладки из модуля основного кода


Я пытаюсь отследить некоторые ошибки в расширении, но мне нужны ответы из основного кода (в частности vendor/magento/module-quote/Model/QuoteRepository.php).

Я попытался добавить "private $_logger;" в объявления классов, а также добавить в конструктор:

public function __construct(
    QuoteFactory $quoteFactory,
    StoreManagerInterface $storeManager,
    \Magento\Quote\Model\ResourceModel\Quote\Collection $quoteCollection,
    \Magento\Quote\Api\Data\CartSearchResultsInterfaceFactory $searchResultsDataFactory,
    JoinProcessorInterface $extensionAttributesJoinProcessor, 
    \Psr\Log\LoggerInterface $logger
) {
    $this->quoteFactory = $quoteFactory;
    $this->storeManager = $storeManager;
    $this->searchResultsDataFactory = $searchResultsDataFactory;
    $this->extensionAttributesJoinProcessor = $extensionAttributesJoinProcessor;
    $this->_logger = $logger;
}

Затем я пытаюсь записать в журнал вот так:

public function get($cartId, array $sharedStoreIds = [])
{
    $this->_logger->log(\Psr\Log\LogLevel::DEBUG, 'Hello I wrote to the log!');

При запуске страницы я получаю сообщение об ошибке:

Неустранимая ошибка: Неперехваченная ошибка типа: Аргумент 6 передан Magento\Quote\Model\quoterepository::__construct() должен реализовывать интерфейс Psr\Log\Loggerинтерфейс, не указан, вызывается/home/livean9/public_new/var/generation/Magento/Quote/Model/QuoteRepository/Interceptor.php в строке 14 и определен в /home/livean9/public_new/поставщик/magento/модуль-цитата/Модель/цитата.php:89

Что я делаю не так?

Author: Todd, 2017-04-24

1 answers

Попробуйте перекомпилировать свой DI, запустив setup:di:compile. Это должно сработать.

 2
Author: , 2017-04-24 21:29:00