Tenho substituído Sitemap.php
no 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 test
em var/log/system.log
como 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
var/log/
gravável pelo seu usuário web (apache
,httpd
,www-data
, etc.)SitemapController.php
, então sim. e simvar/log
é gravável. Obrigado por suas idéiasapp/code/local/Mage/Sitemap/Model/Observer.php
vez deSitemap.php
Respostas:
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::log
pelo menos com o$force
parâmetro escreve seu logfonte
Use
Mage::log('text here', null, 'system.log', true)
.Isso deve funcionar o tempo todo.
fonte
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.
fonte
Dê a permissão certa para sua
var/
pasta:Então use como este código abaixo:
fonte
Coloque esta linha em qualquer função ou arquivo
esse arquivo será criado no seu caminho da pasta raiz, como
espero que funcione para você.
fonte