Saya telah ditimpa Sitemap.php
di app/code/local/Mage/Sitemap/Model/Sitemap.php
. File itu tampaknya digunakan, jika saya menghapus semua konten, ada kesalahan seperti yang diharapkan.
Saya menyalin konten lengkap standar Sitemap.php
, dengan satu perubahan. saya tambahkan
public function generateXml() {
Mage::log('test');
...
}
Ketika saya melakukan ini di tempat lain, mencetak test
di var/log/system.log
seperti yang diharapkan, hanya dalam file ini, itu tidak log pesan.
Setiap bantuan sangat dihargai
EDIT
menggunakan
Mage::log('text', null, <file>, true);
juga tidak bekerja
var/log/
ditulis oleh pengguna web (apache
,httpd
,www-data
, dll)SitemapController.php
, jadi ya, benar. dan yavar/log
bisa ditulisi. Terima kasih atas gagasan Andaapp/code/local/Mage/Sitemap/Model/Observer.php
daripadaSitemap.php
Jawaban:
Saya akan berasumsi, file tersebut dimuat tetapi metode ini tidak dipanggil. Jadi cukup atur breakpoint (atau cara buruk a
die()
) ke dalam metode Anda dan pastikan itu dipanggil.Setelah magento diinisialisasi
Mage::log
setidaknya dengan$force
parameter menulis log-nyasumber
Gunakan
Mage::log('text here', null, 'system.log', true)
.Itu harus bekerja sepanjang waktu.
sumber
Tebakan lain di sini - generasi sitemap umumnya dipicu oleh cronjob. Jika cronjob Anda berjalan di bawah pengguna yang berbeda dari pengguna web Anda dan tidak memiliki izin untuk menulis ke file system.log yang ada, Anda tidak akan mendapatkan entri.
sumber
Berikan izin yang tepat ke
var/
folder Anda :Jadi gunakan seperti kode di bawah ini:
sumber
Letakkan baris ini di fungsi atau file apa pun
file ini akan dibuat di dalam path folder root Anda seperti
Semoga ini akan berhasil untuk Anda.
sumber