He sobrescrito Sitemap.php
en app/code/local/Mage/Sitemap/Model/Sitemap.php
. El archivo parece estar usado, si elimino todo el contenido, hay un error como se esperaba.
Copié el contenido completo del estándar Sitemap.php
, con un solo cambio. yo añadí
public function generateXml() {
Mage::log('test');
...
}
Cuando hago esto en otro sitio, se imprime test
en var/log/system.log
como se esperaba, sólo en este archivo, que no registra el mensaje.
Cualquier ayuda es muy apreciada
EDITAR
utilizando
Mage::log('text', null, <file>, true);
tampoco funciona
var/log/
modificable por el usuario de la web (apache
,httpd
,www-data
, etc.)SitemapController.php
, así que sí, lo es. y sívar/log
es escribible Gracias por sus ideasapp/code/local/Mage/Sitemap/Model/Observer.php
lugar deSitemap.php
Respuestas:
Supongo que el archivo se carga pero no se llama al método. Tan solo establezca un punto de interrupción (o mal camino a
die()
) en su método y asegúrese de que se llame.Después de que magento se inicializa,
Mage::log
al menos con el$force
parámetro escribe su registrofuente
Uso
Mage::log('text here', null, 'system.log', true)
.Eso debería funcionar todo el tiempo.
fuente
Otra suposición aquí: la generación del mapa del sitio generalmente se desencadena por un cronjob. Si su cronjob funciona con un usuario diferente al de su usuario web y no tiene los permisos para escribir en su archivo system.log existente, no obtendrá ninguna entrada.
fuente
Otorgue el permiso correcto a su
var/
carpeta:Así que usa este código a continuación:
fuente
Pon esta línea en cualquier función o archivo
este archivo se creará en la ruta de la carpeta raíz, como
Espero que funcione para ti.
fuente