No Magento 1, era comum segmentar logs em arquivos diferentes (para separar logs para métodos de pagamento, etc.). É tão fácil quanto mudar o $file
parâmetro de Mage::log
.
Magento 2 mudou para usar o Monolog.
Parece que o Monolog (ou a implementação do Magento2) segmenta todos os logs de todo o framework para manipuladores por gravidade. Existem alguns manipuladores que gravam no arquivo:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Registrando nos arquivos respectivos em var / log como no Magento 1.
Eu poderia adicionar um manipulador para uma determinada gravidade (IE, escrever avisos para var/log/notice.log
). Estenda \Magento\Framework\Logger\Handler\Base
e registre o manipulador di.xml
.
Este artigo descreve aproximadamente esse processo: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Mas como eu escrevo todos os logs (não apenas uma gravidade) para uma classe (nem todo o Magento) no meu arquivo de escolha?
Parece que terei que criar minha própria versão Magento\Framework\Logger\Monolog
, mas como tudo se encaixa para que realmente funcione?
Se este é um grande não-não no Magento 2, então qual é a alternativa? Eu quero algo para separar os logs dessa extensão com o objetivo de depurá-la quando necessário nos sites do cliente. Ter essas informações gravadas em system.log, exception.log etc. e misturadas com os logs de todos os outros módulos não é prático.