In Magento 1, era comune segmentare i registri in file diversi (per separare i registri per i metodi di pagamento, ecc.). È facile come cambiare il $file
parametro di Mage::log
.
Magento 2 è stato modificato per utilizzare Monolog.
Sembra che Monolog (o l'implementazione di Magento2 di esso) segmenta tutti i registri per l'intero framework in base alla gravità. Ci sono alcuni gestori che scrivono nel file:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Registrazione nei rispettivi file in var / log come in Magento 1.
Potrei aggiungere un gestore per una particolare gravità (IE, scrivere avvisi in var/log/notice.log
). Estendi \Magento\Framework\Logger\Handler\Base
e registra il gestore in di.xml
.
Questo articolo descrive approssimativamente tale processo: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Ma come posso scrivere tutti i registri (non solo una severità) per una classe (non tutta Magento) nel mio file preferito?
Sembra che dovrò creare la mia versione di Magento\Framework\Logger\Monolog
, ma come si adatta tutto affinché funzioni davvero?
Se questo è un grande no-no in Magento 2, qual è l'alternativa? Voglio qualcosa per separare i registri per questa estensione allo scopo di eseguirne il debug quando necessario sui siti client. Avere quelle informazioni scritte su system.log, exception.log, ecc. E confuse con i registri di ogni altro modulo non è pratico.