En Magento 1, era común segmentar los registros en diferentes archivos (para separar los registros de los métodos de pago, etc.). Eso es tan fácil como cambiar el $file
parámetro de Mage::log
.
Magento 2 ha cambiado para usar Monolog.
Parece que Monolog (o la implementación de Magento2) segmenta todos los registros de todo el marco a los controladores por gravedad. Hay algunos controladores que escriben en el archivo:
\Magento\Framework\Logger\Handler\Debug
` \Magento\Framework\Logger\Handler\Exception
`\Magento\Framework\Logger\Handler\System
Iniciar sesión en los archivos respectivos en var / log como en Magento 1.
Podría agregar un controlador para una gravedad particular (es decir, escribir avisos var/log/notice.log
). Extienda \Magento\Framework\Logger\Handler\Base
y registre el controlador en di.xml
.
Este artículo describe más o menos ese proceso: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Pero, ¿cómo hago para escribir todos los registros (no solo una gravedad) para una clase (no todos los de Magento) en mi archivo de elección?
Parece que tendré que crear mi propia versión de Magento\Framework\Logger\Monolog
, pero ¿cómo encaja todo para que eso realmente funcione?
Si este es un gran no-no en Magento 2, ¿cuál es la alternativa? Quiero algo para separar los registros de esta extensión con el fin de depurarla cuando sea necesario en los sitios de los clientes. Tener esa información escrita en system.log, exception.log, etc. y mezclada con los registros de cualquier otro módulo no es práctico.