ใน 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
แต่แล้วทุกอย่างเข้ากันได้อย่างไรเพื่อให้ใช้งานได้จริง
หากนี่เป็นเกม no-no ที่ยิ่งใหญ่ใน Magento 2 แล้วทางเลือกคืออะไร? ฉันต้องการบางสิ่งบางอย่างเพื่อแยกบันทึกสำหรับส่วนขยายนี้เพื่อจุดประสงค์ในการดีบั๊กเมื่อจำเป็นในเว็บไซต์ของลูกค้า การมีข้อมูลนั้นถูกเขียนไปยัง system.log, exception.log และอื่น ๆ ที่มีการบันทึกในโมดูลอื่น ๆ นั้นไม่สามารถนำไปใช้ได้จริง