Bagaimana cara saya mengatur pemberitahuan email untuk pengecualian yang dicatat atau dilemparkan di situs?
PEMBARUAN: Beberapa orang berkomentar tentang kenyataan bahwa Anda mungkin berharap mendapatkan terlalu banyak email jika setiap pengecualian terkirim melalui email kepada Anda. Saya cenderung suka membuat catatan pengecualian saya cukup ringan. Apa pun yang terjadi di sana saya anggap sebagai pengecualian. Jika itu diharapkan fungsionalitas dan bukan masalah, maka saya suka menangkap pengecualian, mungkin mencatatnya ke file lain (mungkin system.log) jika diperlukan, tetapi tidak mencatatnya di exception.log.
Tetapi jika Anda memiliki banyak suara dalam pengecualian Anda. Log yang tidak ingin Anda bersihkan, kemungkinan besar Anda tidak akan mau melakukan ini.
Jawaban:
Anda dapat menggunakan Magento Hackthon Logger untuk pekerjaan ini: https://github.com/firegento/firegento-logger/
Ini bukan pertanyaan, tetapi ada ekstensi untuk ekstensi: https://github.com/magento-hackathon/LoggerSentry/
Apa yang ingin saya katakan: Mudah untuk menerapkan "Penulis" Anda sendiri :-)
sumber
Ini sepertinya tidak mudah diakses seperti yang saya pikir seharusnya dari beberapa pencarian yang saya lakukan, jadi saya memposting pertanyaan pertanyaan / jawaban untuk referensi di masa mendatang.
Pengecualian yang dilemparkan
Anda dapat mengaktifkan pemberitahuan email untuk pengecualian yang dilemparkan menggunakan kesalahan / local.xml. Anda dapat menyalin
errors/local.xml.template
ke `kesalahan / local.xml 'dan memasukkan alamat email dan baris subjek yang ingin Anda gunakan.Kemudian, jika ada pengecualian yang dilemparkan dan ditangkap oleh sistem penanganan kesalahan Magento, di mana layar laporan kesalahan ditampilkan kepada pengguna akhir, Anda akan mendapatkan pemberitahuan email.
Pengecualian yang Dicatat
Jika Anda juga ingin mendapatkan notifikasi email untuk pengecualian yang tidak dilemparkan tetapi dicatat, Anda harus mendapatkan sedikit lebih jauh di bawah tenda.
Pertama, timpa kelas penulis log inti .
Setelah Anda selesai melakukannya, cukup masukkan kode untuk menembak sendiri email setelah pengecualian tersebut dicatat. Ingatlah bahwa Anda perlu menyimpan nama file log dari dalam
__construct()
agar dapat mengaksesnya dari_write()
metode.sumber
Mengemail setiap pengecualian mungkin akan menghasilkan BANYAK surat.
Ini mungkin merupakan opsi yang lebih baik untuk hanya mencatat pengecualian ke log pengecualian dan mengirimkannya sekali sehari kepada diri Anda sendiri menggunakan cronjob di linux
Dan secara opsional membersihkannya setelah Anda mengirimkannya
Atau Anda bisa menjalankannya setiap jam jika Anda membutuhkan frekuensi yang lebih tinggi.
Dengan cara ini tidak perlu menimpa file apa pun dan menjaga beban pada server yang terus-menerus mengirim surat kepada Anda.
sumber
mungkin Anda juga bisa tertarik dengan integrasi Magento / Monolog saya
https://github.com/aleron75/magemonolog
Salam Alessandro
sumber
Saya tidak suka implementasi Mage :: log's custom writerModel atau saya tidak memahaminya. Bagi saya itu tidak memanfaatkan desain Zend_Log untuk mengaktifkan dan menulis. Saya akan mengambil Log bukan Penulis. Oleh karena itu saya membuat solusi untuk mengambil keuntungan penuh dari Zend_Log dan masih menulis tidak banyak kode, karena saya mengumpulkan Zend_log.
Ngomong-ngomong di Magento 1.7, saya hanya mendapat beberapa email. Setiap email memiliki beberapa pengecualian / kesalahan untuk satu permintaan, saya kira. Jadi situs yang sering dikunjungi masih akan menghasilkan banyak email. Saya akan melihat itu. Sekarang tidak masalah bagi saya.
sumber
Anda juga dapat menggunakan modul untuk membuat pemberitahuan email atau mendapatkan laporan harian dari pelanggan yang mendapat pengecualian:
Di sini dijelaskan implementasinya: https://grafzahl-io.blogspot.de/2017/03/notifications-for-every-exception-in-magento.html
Ini adalah modul untuk memonitor kesalahan dan acara lainnya (bahkan menerapkan diskon kepada pelanggan jika dia mendapat pengecualian): https://grafzahl.io/notify-module
sumber