Я пытаюсь напечатать содержимое переменной массива в файл журнала.
В Magento 1 это было возможно с помощью Mage::log(print_r($arr, 1), null, 'logfile.log');
Для Magento 2 в файле класса я написал следующий код:
protected $_logger;
public function __construct(\Psr\Log\LoggerInterface $logger) {
$this->_logger = $logger;
}
private function getValuesAsHtmlList(\Magento\Framework\Object $object) {
$options = $this->getOptions($object);
//$this->_logger->addDebug($options );
$this->_logger->log(100,null,$options);
}
Когда я выполняю код после очистки кэша, файлы Debug.log
& system.log
не показывают содержимое массива.
Пожалуйста, поделитесь, если у кого-нибудь есть идеи по этому поводу.
$this->_logger->debug(json_encode($options));
Этот метод хорошо работает для меня.
Тогда проверьте свой
system.log
файл.источник
Попробуйте это, он будет печатать массив. Проверено!
источник
Для массива, а также объекта просто используйте
и проверить вывод в
/var/log/debug.log
файлисточник
Я вижу, что основной файл использует var_export:
источник