В Magento 1 было обычным делить журналы на разные файлы (разделять журналы для способов оплаты и т. Д.). Это так же просто, как изменить $file
параметр Mage::log
.
Magento 2 изменился, чтобы использовать Monolog.
Похоже, что Monolog (или его реализация в Magento2) сегментирует все журналы для всей среды по серьезности. Есть несколько обработчиков, которые пишут в файл:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Вход в соответствующие файлы в var / log как в Magento 1.
Я мог бы добавить обработчик для конкретной серьезности (например, писать уведомления для var/log/notice.log
). Расширьте \Magento\Framework\Logger\Handler\Base
и зарегистрируйте обработчик в di.xml
.
Эта статья приблизительно описывает этот процесс: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Но как мне записать все журналы (не только одну серьезность) для одного класса (не все Magento) в мой файл выбора?
Похоже, мне придется создать свою собственную версию Magento\Framework\Logger\Monolog
, но как же тогда все совместится, чтобы это на самом деле работало?
Если это большое нет-нет в Magento 2, то какова альтернатива? Я хочу что-то отделить журналы для этого расширения с целью отладки его при необходимости на клиентских сайтах. Записывать эту информацию в system.log, exception.log и т. Д. И перемешивать с журналами всех остальных модулей нецелесообразно.