এটি এত সহজেই অ্যাক্সেসযোগ্য বলে মনে হচ্ছে না যতটা আমি ভেবেছিলাম এটি করা কিছু অনুসন্ধান থেকে হওয়া উচিত, তাই আমি ভবিষ্যতের রেফারেন্সের জন্য একটি প্রশ্ন প্রশ্ন / উত্তর পোস্ট করছি।
ছুঁড়ে দেওয়া ব্যতিক্রম
ত্রুটিগুলি / স্থানীয়.xml ব্যবহার করে ফেলে দেওয়া ব্যতিক্রমগুলির জন্য আপনি ইমেল বিজ্ঞপ্তিগুলি সক্ষম করতে পারেন। আপনি আপনার errors/local.xml.template
'ত্রুটিগুলি / স্থানীয়.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>
তারপরে, যদি কোনও ব্যতিক্রম ছুঁড়ে ফেলা হয় এবং ম্যাজেন্টোর ত্রুটি পরিচালনা ব্যবস্থা দ্বারা ধরা পড়ে, যেখানে ত্রুটি রিপোর্টের পর্দা শেষ ব্যবহারকারীর কাছে প্রদর্শিত হয়, আপনি একটি ইমেল বিজ্ঞপ্তি পাবেন get
লগড ব্যতিক্রম
আপনি যদি বাদ পড়ে না বরং লগইন করা ব্যতিক্রমগুলির জন্য ইমেল বিজ্ঞপ্তি পেতে চান তবে আপনাকে হুডের নিচে আরও কিছুটা এগিয়ে যেতে হবে।
প্রথমে মূল লগ লেখক শ্রেণিকে ওভাররাইড করুন ।
একবার এটি হয়ে গেলে, ব্যতিক্রম লগ হওয়ার পরে নিজেকে একটি ইমেল অঙ্কুর জন্য কোডের মধ্যে ফেলে দিন। মনে রাখবেন যে পদ্ধতি __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
}
}