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.
<config>
<skin>default</skin>
<report>
<action>email</action>
<subject>domain.com exception</subject>
<email_address>name@example.com</email_address>
<trash>leave</trash>
</report>
</config>
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.
class Module_Core_Model_Zend_Log_Writer_Stream extends Zend_Log_Writer_Stream
{
protected $_streamOrUrl;
public function __construct($streamOrUrl, $mode = NULL)
{
parent::__construct($streamOrUrl, $mode);
$this->_streamOrUrl = $streamOrUrl;
}
protected function _write($event)
{
parent::_write($event);
if (strpos($this->_streamOrUrl, 'exception.log') === false) {
return;
}
// Send email here
}
}