Mage :: log () não efetua login em todos os arquivos usados ​​pelo Magento?


11

Tenho substituído Sitemap.phpno app/code/local/Mage/Sitemap/Model/Sitemap.php. O arquivo parece estar sendo usado; se eu remover todo o conteúdo, ocorrerá um erro conforme o esperado.

Copiei o conteúdo completo do padrão Sitemap.php, com uma única alteração. Eu adicionei

public function generateXml() {
    Mage::log('test');
    ...
}

Quando eu fizer isso em qualquer outro lugar, ele imprime testem var/log/system.logcomo seria de esperar, só neste arquivo, ele não registra a mensagem.

Qualquer ajuda é muito apreciada


EDITAR

usando

Mage::log('text', null, <file>, true);

também não funciona


O log está ativado na configuração do sistema? É var/log/gravável pelo seu usuário web ( apache, httpd, www-data, etc.)
musicliftsme

o logon funciona SitemapController.php, então sim. e sim var/logé gravável. Obrigado por suas idéias
Yorrd

Talvez o núcleo Mage não esteja carregado? Talvez tente Mago :: app ()
Tim Hallman

@ TimHallman como o magento funcionaria sem núcleo? O site funciona muito bem
Yorrd 25/05

Porque é sitemap.php. Tente fazer login em app/code/local/Mage/Sitemap/Model/Observer.phpvez deSitemap.php
Tim Hallman

Respostas:


11

Eu diria que o arquivo está carregado, mas o método não é chamado. Portanto, basta definir um ponto de interrupção (ou mau caminho a die()) no seu método e verifique se ele é chamado.

Depois que o magento é inicializado, Mage::logpelo menos com o $forceparâmetro escreve seu log


Sim. Obrigado. Acho que vou abrir outra pergunta por que meu generateXml não está carregado. Porque não, ele não atinge o ponto de interrupção.
Yorrd 29/05

29

Use Mage::log('text here', null, 'system.log', true).
Isso deve funcionar o tempo todo.


Ou, por exemplo, um sitemap.log, caso você não queira que os logs do seu sitemap sejam misturados com coisas aleatórias.
Julien Lachal

@JulienLachal. Verdade. O nome do arquivo pode ser qualquer coisa.
Marius

consulte a minha edição, isso não quer trabalhar
Yorrd

2

Outro palpite aqui - a geração do sitemap geralmente é acionada por um cronjob. Se o seu cronjob for executado sob um usuário diferente do usuário da web e não tiver permissões para gravar no arquivo system.log existente, você não obterá nenhuma entrada.


É verdade, mas estou testando-o apenas clicando em "gerar" na página de administração do mapa do site. Então, eu assumiria que ele deveria ter permissão. EDIT: não funciona se a permissão estiver definida como 777
Yorrd

0

Dê a permissão certa para sua var/pasta:

chmod -Rv 777 var/

Então use como este código abaixo:

Mage::log(print_r($yourTest), null, 'customLogFile.log', true);

O print_r evitará alguns erros relacionados ao tipo da sua variável.


0

Coloque esta linha em qualquer função ou arquivo

Mage :: log ("Sua mensagem -", null, 'seu-log-nome-de-arquivo.log');

esse arquivo será criado no seu caminho da pasta raiz, como

/var/log/your-log-filename.log

espero que funcione para você.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.