मैगनेटो 1 में, विभिन्न फाइलों में सेगमेंट लॉग्स के लिए (भुगतान विधियों के लिए लॉग को अलग करने के लिए, आदि) आम था। के $file
पैरामीटर को बदलना उतना ही आसान है Mage::log
।
Magento 2 ने मोनोलॉग का उपयोग करने के लिए बदल दिया है।
ऐसा प्रतीत होता है कि मोनोलॉग (या मैगेंटो 2 का कार्यान्वयन) संपूर्ण ढांचे के लिए सभी लॉग को गंभीरता से संभालता है। कुछ हैंडलर हैं जो फाइल करने के लिए लिखते हैं:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Magento 1 की तरह var / log में संबंधित फाइलों में लॉग इन करना ।
मैं एक विशेष गंभीरता (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 में एक बड़ा नहीं-नहीं है, तो विकल्प क्या है? मैं क्लाइंट साइटों पर आवश्यक होने पर इसे डीबग करने के उद्देश्य से इस एक्सटेंशन के लिए लॉग को अलग करना चाहता हूं। सिस्टम.लॉग, अपवाद.लॉग इत्यादि को लिखी गई जानकारी होने और हर दूसरे मॉड्यूल के लॉग के साथ जंबल्ड व्यावहारिक नहीं है।