আমি কীভাবে ব্যতিক্রমগুলির জন্য ইমেল বিজ্ঞপ্তি পেতে পারি?


14

লগইন বা সাইটে ফেলে দেওয়া ব্যতিক্রমগুলির জন্য আমি কীভাবে ইমেল বিজ্ঞপ্তিগুলি সেটআপ করব?

আপডেট: কয়েকজন লোক এই মন্তব্য করেছে যে আপনি যদি প্রতিটি ব্যতিক্রম ইমেল করে থাকেন তবে আপনি অনেক বেশি ইমেল পাবে বলে আশা করতে পারেন। আমি আমার ব্যতিক্রম লগটি বেশ হালকা রাখতে চাই। সেখানে যা কিছু যায় আমি তার ব্যতিক্রমও দেখতে পাই। যদি এটির কার্যকারিতা প্রত্যাশিত হয় এবং সমস্যা না হয় তবে আমি ব্যতিক্রমটি ধরতে চাই, সম্ভবত প্রয়োজনে এটি অন্য কোনও ফাইলে (সম্ভবত system.log) লগ ইন করতে চাই, তবে ব্যতীত.লগ এ লগ না করে।

তবে যদি আপনার ব্যতিক্রম.লগটিতে প্রচুর শব্দ হয় যা আপনি পরিষ্কার করতে চান না, আপনি সম্ভবত এটি করতে চাইবেন না।


6
আপনি ক্রাশ
Gmail করবেন

উত্তর:


4

আপনি এই কাজের জন্য ম্যাজেন্টো হ্যাকথন লগার ব্যবহার করতে পারেন: https://github.com/firegento/firegento-logger/

এটি প্রশ্ন নয়, তবে এক্সটেনশনের জন্য এক্সটেনশান রয়েছে: https://github.com/magento-hackathon/LoggerSentry/

আমি যা বলতে চাই: আপনার নিজের "লেখক" বাস্তবায়ন করা সহজ :-)


নিস! ধন্যবাদ পল। এটি কি আপনাকে কেবল ব্যতিক্রম লগগুলিতে ইমেল করতে দেয় ? এটি ছিল প্রাথমিক ব্যবহারের ক্ষেত্রে আমি আগ্রহী এবং আমার মনে হয় এমন কিছু যা সাধারণত অনেকগুলি ম্যাজেন্টো ইনস্টলের ক্ষেত্রে প্রযোজ্য।
কালেঞ্জর্ডান

আপনি লগগুলি কী করতে হবে তা বিভিন্ন ট্র্যাশহোল্ড সেট আপ করতে পারেন, এক্সএমপিপি (জিমেইল চ্যাট) এ ব্যতিক্রম পাঠাতে পারেন, মেলটিতে ত্রুটিগুলি প্রেরণ করতে এবং উদাহরণস্বরূপ ডাটাবেসে নোটিশগুলি লগ করতে পারেন।
পল হাচমং

শুধু এফওয়াইআই, এই প্রকল্পটি সরানো হয়েছে ... github.com/firegento/firegento-logger
পাওস

@ পলহাচমং প্রথম লিঙ্ক github.com/magento-hackathon/ লোগার মারা গেছে। এটি আপডেট করতে চাই।
এসআর_ম্যাজেন্টো

8

এটি এত সহজেই অ্যাক্সেসযোগ্য বলে মনে হচ্ছে না যতটা আমি ভেবেছিলাম এটি করা কিছু অনুসন্ধান থেকে হওয়া উচিত, তাই আমি ভবিষ্যতের রেফারেন্সের জন্য একটি প্রশ্ন প্রশ্ন / উত্তর পোস্ট করছি।

ছুঁড়ে দেওয়া ব্যতিক্রম

ত্রুটিগুলি / স্থানীয়.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    
    }
}

এই বিষয়ে যত্নবান হন। সাইটে যদি কিছু ভুল হয়ে যায় তবে আপনি ইমেলের বন্যার সাথে সমাপ্ত হবেন। এটি নিজে থেকেই সার্ভারটিকে নীচে টেনে আনবে। তারপরে আপনি কেবল একটি ভাঙা সাইটই নয়, একটি অ্যাক্সেসযোগ্য সার্ভারও শেষ করবেন! তারপরে আপনি মেইল ​​ক্যো থেকে প্রচুর মেলগুলি সাফ করতে হবে। অতীতে আমার সাথে এটি ঘটেছিল
প্রক্সি ব্লু

এটা একটা ভাল দিক. আমরা নিজেরাই মেল সার্ভারটি পরিচালনা করছি না (ম্যান্ড্রিল) তবে তবুও হঠাৎ ব্যতিক্রমগুলি যদি কোনও কারণে বন্যা শুরু করে তবে জিনিসগুলি দ্রুত আটকে যেতে পারে।
কালেঞ্জর্ডান

আমি সবসময় ভেবেছিলাম একটি মেল কুই একটি দুর্দান্ত মডিউল হবে। (যে কোনও গ্রাহক গিথুবকে হোস্ট করেছেন / একটির সম্পর্কে জানেন?) - মূলত কোনও ইমেল ম্যাগেন্টো একটি মেইল ​​কুইতে ফেলে দেওয়ার জন্য প্রেরণ করে, প্রতিটি ক্রয় প্রতি মিনিটে চলে যায় এবং পরের ইমেলটি কাতারে প্রেরণ করে। কিউটির একটি পাল্টা থাকতে পারে এবং যদি কোনও অভিন্ন বার্তা দেওয়া হয় তবে এটি কাউন্টারটি সরিয়ে ফেলতে পারে। সুতরাং আপনার যদি একই ব্যতিক্রম থেকে 100 টি ব্যতিক্রম বার্তা থাকে তবে আপনি কেবল '1 টি ইমেল পাবেন, এই ইমেলের xxx উদাহরণ' দিয়ে। এটি ম্যাজেন্টো থেকে ইমেল প্রেরণ করা হয়েছে কিনা তা যাচাই করার জন্য এটি দুর্দান্ত পয়েন্ট দেয়। - আমার কাছে এটি লেখার সময় নেই :(
প্রক্সি ব্লু

7

প্রতিটি ব্যতিক্রম ইমেল করার ফলে সম্ভবত প্রচুর মেল হবে।

কেবলমাত্র ব্যতিক্রম লগ এবং মেইলে ব্যতিক্রমগুলি লগইন করা একটি ভাল বিকল্প হতে পারে যে লিনাকসে ক্রোনজব ব্যবহার করে নিজেকে একবার

0 23 * * * /usr/lib/sendmail email@domain.com < /home/shop.com/www/var/log/exception.log

এবং আপনি এটি মেইল ​​করার পরে optionচ্ছিকভাবে এটি পরিষ্কার করুন

0 23 * * * /usr/lib/sendmail email@domain.com < /home/shop.com/www/var/log/exception.log;rm /home/shop.com/www/var/log/exception.log

অথবা আপনার যদি উচ্চতর ফ্রিকোয়েন্সি প্রয়োজন হয় তবে আপনি প্রতি ঘন্টা এটিকে কার্যকর করতে পারেন।

এইভাবে কোনও ফাইল ওভাররাইট করার প্রয়োজন নেই এবং সার্ভারে বোঝা রাখা যা ক্রমাগত নিজের কাছে মেলগুলি প্রেরণ করে।


ধন্যবাদ স্যান্ডার আমি তর্ক করব যদিও লগিং ব্যতিক্রমগুলি এমন একটি সমস্যা যা সমাধান করা দরকার, সুতরাং আপনার লগ হওয়া ব্যতিক্রমগুলির খুব কম ঘটনা হওয়া উচিত। আমি ব্যতিক্রম লগটি পাইপ করার জন্য ক্রোন জবের সরলতার মতো করি তবে আমি নিশ্চিত নই যে প্রতিবার ইমেল করা লগটি সাফ করার ধারণাটি আমার পছন্দ হবে।
কালেঞ্জর্ডান

+1 টি; কারণ আমি ব্যক্তিগতভাবে অনুভব করি এটি করার পক্ষে এটি সর্বোত্তম বিকল্প। আপনার মতামত ভাগ করে নেওয়ার জন্য ধন্যবাদ :-)
রাজীব কে টমি

2

হতে পারে আপনি আমার ম্যাজেন্টো / মনোলোগ সংহতকরণেও আগ্রহী হতে পারেন

https://github.com/aleron75/magemonolog

শ্রদ্ধা আলেসান্দ্রো


খুব সুন্দর কাজ হয়েছে, কেবলমাত্র এটি জানতে চাই যে এটি ম্যাজেন্টো সংস্করণ 1.7 এ পরীক্ষা করা হয়েছে কিনা? এটি চৌম্বকীয় সংস্করণ 1.7.0.2 এ আমার জন্য ইমেল প্রেরণ করে না
হারিস

1
দুঃখিত @ হারিস আমি জানি না তবে অজানা ইমেলটি সম্ভবত আপনার ইমেইল সার্ভারের কনফিগারেশনের উপর নির্ভর করে এক্সটেনশনের পরিবর্তে
আলেসান্দ্রো রনচি

1

আমি Mage :: লগের কাস্টম রাইটার মডেল প্রয়োগ করতে পছন্দ করি না বা এটি বুঝতে পারি না। আমার পক্ষে এটি এন লেখকদের সক্ষম করতে জেনড_লগ ডিজাইনের সুবিধা নেবে না। আমি লেখক নয় একটি লগ নিতে হবে। অতএব আমি জেনড_লগের পুরো সদ্ব্যবহার করার জন্য এবং এখনও খুব বেশি কোড না লেখার জন্য আমি একটি কার্যপ্রণালী তৈরি করেছি, যেহেতু আমি একটি জেনড_লগকে একত্রিত করছি।

class XX_XXX_Model_Log extends Zend_Log_Writer_Abstract{

/**
 * @var Zend_Log
 */
protected $zendLog = array();

/**
 *
 * @param  mixed $writer Zend_Log_Writer_Abstract or Config array
 * @return void
 */
public function addWriter($writer)
{
    return $this->zendLog->addWriter($writer);
}

/**
 * Write a message to the log.
 *
 * @param  array  $event  log data event
 * @return void
 */
protected function _write($event){
    $this->zendLog->log($event['message'], $event['priority']);
}

/**
 * Konstruktor erweitert Log automatisch um Writer
 *
 * @param sting $file
 */
public function __construct($file){
    $this->zendLog = new Zend_Log();
    $this->enhance($file);
}

/**
 * Hier werden die Writer and Zend_Log angehangen
 *
 * @param sting $file
 */
public function enhance($file){
    /* put your custom Logger here - example firePHP*/
        $writer = Mage::getModel('gdcore/firephp');
        $writer->addFilter(Zend_Log::Debug);
        $this->addWriter($writer);
    }
}

/**
 * Construct a Zend_Log driver
 * 
 * @param  array|Zen_Config $config
 * @return Zend_Log_FactoryInterface
 */
static public function factory($config){
    return Zend_Log::factory($config);
}
}

Magento 1.7 এর পথে আমি কেবল কয়েকটি ইমেল পেয়েছি। আমি অনুমান করি যে প্রতিটি ইমেলের একটি অনুরোধের জন্য কিছু ব্যতিক্রম / ত্রুটি রয়েছে। সুতরাং অত্যন্ত ঘন ঘন সাইট এখনও অনেক ইমেলের ফলাফল করবে। আমি এটা দেখতে হবে। এতক্ষণে এটি আমার পক্ষে ঠিক আছে।


ধন্যবাদ আন্ড্রেয়াস আমি নিজেও লগ মডেল বনাম লেখকের মডেলটির ভূমিকাটি 100% বুঝতে পারি না, তবে এটি ম্যাজেন্টোকে প্রসারিত করার জন্য সবচেয়ে প্রাকৃতিক জায়গা বলে মনে হয়েছিল।
kalenjordan

দয়া করে নোট করুন XX_XXX_ মডেল_লগ একজন লেখক_ মডেল! কেবল আপনার কনফিগার.এক্সএমএল কনফিগার করুন এবং কিছু ইমেল প্রেরণের জন্য পদ্ধতিতে কোনও ইমেল-লেখক যুক্ত করুন। সম্ভবত আমরা ভুল বুঝেছি।
আন্দ্রেস ডায়াব্লা

দুঃখিত, আমি লেখক মডেল বনাম লেখক স্ট্রিম মডেল বোঝাতে চাইছি। যে কোনও হারে, আমি উপরে যে সমাধানটি দিয়েছি তা সূক্ষ্মভাবে কাজ করে এবং এটি এর মতো পঠনযোগ্য বলে মনে হয় এবং এর মধ্যে কম এসএলওসিও রয়েছে।
কালেঞ্জর্ডান

এই সমাধানের সাহায্যে আপনি জেন্ড-লগিংয়ের জন্য জেন্ডার ফ্রেমওয়ার্কটি ব্যবহার করতে পারেন এবং ফিল্টার এবং অগ্রাধিকারের সাথে আপনি যত লেখক চান কনফিগার করতে পারেন। সুতরাং একটি আরও কনফিগারযোগ্য (অগ্রাধিকার) ফী ফাইল-লগিং রচয়িতা তৈরি করা খুব সহজ যা আপনি মেলের মাধ্যমে প্রতি ঘন্টা একটি ম্যাগ ক্রোনজব দিয়ে প্রেরণ করতে পারেন।
আন্দ্রেস ডায়াব্লা

0

আপনি ইমেল বিজ্ঞপ্তিগুলি তৈরি করতে বা ব্যতিক্রম প্রাপ্ত গ্রাহকদের প্রতিদিনের প্রতিবেদন পেতে একটি মডিউল ব্যবহার করতে পারেন:

বাস্তবায়নটি এখানে ব্যাখ্যা করা হয়েছে: https://grafzahl-io.blogspot.de/2017/03/notifications-for-every-exception-in-magento.html

এটি ত্রুটি এবং অন্যান্য ইভেন্টগুলি নিরীক্ষণের মডিউল (এমনকি কোনও ব্যতিক্রম পেলে গ্রাহকের জন্য ছাড়ও প্রয়োগ করুন): https://grafzahl.io/notify-module

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.