W Magento 1 logi były dzielone na różne pliki (w celu oddzielenia dzienników dla metod płatności itp.). To tak proste, jak zmiana $file
parametru Mage::log
.
Magento 2 zmieniło się na Monolog.
Wygląda na to, że Monolog (lub implementacja Magento2) segmentuje wszystkie logi dla całego frameworka na procedury obsługi według ważności. Istnieje kilka programów obsługi, które zapisują do pliku:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Logowanie do odpowiednich plików w var / log jak w Magento 1.
Mógłbym dodać moduł obsługi dla określonego poziomu ważności (IE, pisz powiadomienia do var/log/notice.log
). Rozszerz \Magento\Framework\Logger\Handler\Base
i zarejestruj program obsługi w di.xml
.
W tym artykule z grubsza opisano ten proces: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Ale jak przejść do zapisywania wszystkich dzienników (nie tylko jednego poziomu ważności) dla jednej klasy (nie wszystkich Magento) w wybranym pliku?
Wygląda na to, że będę musiał stworzyć własną wersję Magento\Framework\Logger\Monolog
, ale w jaki sposób wszystko do siebie pasuje, aby to rzeczywiście działało?
Jeśli jest to duże nie-nie w Magento 2, to jaka jest alternatywa? Chcę coś, aby oddzielić dzienniki dla tego rozszerzenia w celu debugowania go w razie potrzeby na stronach klienckich. Zapisanie tych informacji w pliku system.log, wyjątku.log itp. I pomieszanie ich z dziennikami każdego innego modułu nie jest praktyczne.