ดูเหมือนจะไม่สามารถเข้าถึงได้อย่างง่ายดายเท่าที่ฉันคิดว่าควรมาจากการค้นหาบางอย่างที่ฉันทำดังนั้นฉันจึงโพสต์คำถามคำถาม / คำตอบสำหรับการอ้างอิงในอนาคต
โยนข้อยกเว้น
คุณสามารถเปิดใช้งานการแจ้งเตือนทางอีเมลสำหรับข้อยกเว้นที่ถูกโยนโดยใช้ข้อผิดพลาด / local.xml คุณสามารถคัดลอกของคุณerrors/local.xml.template
ไปที่ `ข้อผิดพลาด / local.xml 'และวางในที่อยู่อีเมลและบรรทัดเรื่องที่คุณต้องการใช้
<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>
จากนั้นหากมีการโยนข้อยกเว้นใด ๆ และระบบการจัดการข้อผิดพลาดของ Magento ที่หน้าจอรายงานข้อผิดพลาดปรากฏขึ้นให้ผู้ใช้ปลายทางคุณจะได้รับการแจ้งเตือนทางอีเมล
ข้อยกเว้นที่บันทึกไว้
หากคุณต้องการรับการแจ้งเตือนทางอีเมลสำหรับข้อยกเว้นที่ไม่ได้ถูกโยนทิ้ง แต่เข้าสู่ระบบแล้วคุณจะต้องได้รับเพิ่มเติมเล็กน้อยภายใต้ประทุน
ครั้งแรกแทนที่แกนชั้นล็อกนักเขียน
เมื่อคุณทำเสร็จแล้วเพียงวางรหัสเพื่อยิงอีเมลด้วยตัวคุณเองหลังจากบันทึกข้อยกเว้นแล้ว โปรดจำไว้ว่าคุณต้องบันทึกชื่อไฟล์บันทึกจากภายใน__construct()
เพื่อให้สามารถเข้าถึงได้จาก_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
}
}