Mage::log – Como salvar informações de Debug em arquivo
Desenvolvimento, Magento 1
Publicado em 21 de agosto de 2018
Ao enfrentar algum problema em nossa loja é muito comum que comecemos a querer colocar <?php echo
em tudo que é lugar.
Como já vimos neste vídeo, o XDebug é a melhor ferramenta para debugar de verdade qualquer coisa em códigos PHP e Magento. Mas as vezes só queremos adicionar um log simples, para debugar alguma coisa quando algo específico acontecer, ou mesmo algo estranho que está acontecendo em outro ambiente, logar uma integração, ou qualquer coisa nesse sentido.
Para isso o Magento vem equipado com uma classe de Log que adicionará automaticamente os seus logs na pasta var/log
da sua loja.
Sintaxe Mage::log
/** * log facility (??) * * @param string $message * @param integer $level * @param string $file * @param bool $forceLog */ public static function log($message, $level = null, $file = '', $forceLog = false)
$message
string contendo o que queremos logar$level
integer representado por uma das constantes da classe Zend_Log indicando o nível de log da informação. Ex. Zend_Log::DEBUG ou null$file
nome do arquivo que estará na pasta var/log do Magento$forceLog
true ou false. Indica se o arquivo de log e a entrada devem ser logados mesmo se as configurações do Magento estiverem com o log desabilitado.
Exemplos de uso Mage::log
Você pode adicionar a chamada ao método estático Mage::log
em qualquer parte do seu código Magento (desde que, dentro das tags <?php
).
Veja alguns exemplos:
Mage::log('Olá mundo',null,'magenteiro.log',true);
Mage::log(var_export($order->debug(),true),Zend_Log::DEBUG, 'magenteiro.log',true);
Neste segundo exemplo estou assumindo que a variável
$order
contém informações de um pedido (Mage_Sales_Model_Order
), e invoco o método debug()
, presente em quase todas as classes do Magento – em especial as que estendem a Varien_Object
.
Note que também estou usando o método var_export
para exportar/printar qualquer objeto para string.
Dica: Mage::log snippet no PhpStorm
Como isso é algo que uso bastante, acabei criando um Live Template no PhpStorm. Desta forma, ao digitar ml
e aprtar Tab
, o PhpStorm completa o código pra mim.
Para configurar é bem simples, e basta usar o recurso de Live Templates.
A maioria das IDEs trazem recursos similares.
Vendo o resultado
O resultado será sempre adicionado ao final do arquivo especificado. E para observar em tempo real que está ocorrendo, uso o comando tail -f nomedoarquivo.log
.
Não deu certo?
Quando o Magento não tem permissão para salvar arquivos na pasta var ele tentará salvar na pasta /tmp/magento
, mas desta vez, na raíz do seu servidor. Confira suas permissões e corrija conforme necessário.
Gostou desta dica? Confira então o curso gratuito Ferramentas e Dicas Matadoras para o Desenvolvimento Magento e conheça outras dicas e ferramentas de desenvolvimento.
Veja também:
- Código bem feito com Magento Standards
- XSD’s e Magento 2
- Curso de Criação de Módulos e Desenvolvimento Backend para Magento 1.x
Imagem principal: Pixabay
- PagSeguro (PagBank) para Magento 1 recebe a Nova Geração - 9 de abril de 2024
- Recorrência no WooCommerce Sem Plugins Pagos - 28 de janeiro de 2024
- Chargeback. O que é, e como se livrar deles. - 19 de dezembro de 2023
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-1/desenvolvimento/magelog-como-criar-arquivo-log/"]