Bu, yaptığım bazı aramalardan olması gerektiğini düşündüğüm kadar kolay erişilebilir değildi, bu yüzden gelecekteki referans için bir soru sorusu / yanıtı gönderiyorum.
Atılan İstisnalar
Hatalar / local.xml kullanılarak atılan istisnalar için e-posta bildirimlerini etkinleştirebilirsiniz. errors/local.xml.template
`` Error / local.xml '' dosyasına kopyalayabilir ve kullanmak istediğiniz e-posta adresini ve konu satırını bırakabilirsiniz.
<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>
Ardından, son kullanıcıya bir hata raporu ekranının görüntülendiği Magento'nun hata işleme sistemi tarafından herhangi bir istisna atılır ve yakalanırsa, bir e-posta bildirimi alırsınız.
Kayıtlı İstisnalar
Atılmayan ancak günlüğe kaydedilen istisnalar için e-posta bildirimleri almak isterseniz, başlık altında biraz daha ilerlemeniz gerekir.
İlk olarak, çekirdek günlük yazar sınıfını geçersiz kılın .
Bunu yaptıktan sonra, istisna günlüğe kaydedildikten sonra kendinize bir e-posta çekmek için kodu bırakın. Yöntemden __construct()
erişebilmek için günlük dosya adını içinden kaydetmeniz gerektiğini unutmayın _write()
.
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
}
}