У 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.
Я міг би додати обробник для певної суворості (IE, писати повідомлення 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, исключение.log і т. Д., І змішуватись з журналами кожного іншого модуля, не є практичним.