Dans Magento 1, il était courant de segmenter les journaux en différents fichiers (pour séparer les journaux des méthodes de paiement, etc.). C'est aussi simple que de changer le $file
paramètre de Mage::log
.
Magento 2 a changé pour utiliser Monolog.
Il semble que Monolog (ou son implémentation dans Magento2) segmente tous les journaux de la structure entière pour les gestionnaires par gravité. Il y a quelques gestionnaires qui écrivent dans un fichier:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Se connecter aux fichiers respectifs dans var / log comme dans Magento 1.
Je pourrais ajouter un gestionnaire pour une gravité particulière (IE, écrire des avis à var/log/notice.log
). Étendre \Magento\Framework\Logger\Handler\Base
et enregistrer le gestionnaire dans di.xml
.
Cet article décrit approximativement ce processus: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Mais comment puis-je écrire tous les journaux (pas seulement une gravité) pour une classe (pas tous Magento) dans le fichier de mon choix?
On dirait que je vais devoir créer ma propre version de Magento\Framework\Logger\Monolog
, mais alors comment tout va-t-il pour que cela fonctionne réellement?
Si c'est un gros non-non dans Magento 2, alors quelle est l'alternative? Je veux quelque chose pour séparer les journaux de cette extension dans le but de la déboguer lorsque cela est nécessaire sur les sites clients. Avoir ces informations écrites dans system.log, exception.log, etc. et enchevêtrées avec les journaux de tous les autres modules n'est pas pratique.