CodeIgniter'daki, nasıl bana e-postayla PHP Hata Mesajları var mi?

5 Cevap php

Ben e-posta yoluyla hata günlükleri almak istiyorum. Bir Warning-level hata iletisi oluşabilir gerekir Örneğin, ben bu konuda bir e-posta almak istiyorum.

Bunu nasıl çalışma CodeIgniter'daki alabilirim?

5 Cevap

Bunu yapmak için özel durum çekirdek sınıfını genişletmek olabilir.

Eğer böyle bir kütüphaneden örneğini eğer emin, CI-posta sınıfına başvuru değil ayarlamak zorunda kalabilirsiniz. Ben CI-posta sınıf kendimi kullanmayın, ben Swift Mailer kitaplığını kullanarak oldum. Ama bu doğru yolda size almalısınız.

Bir dosya MY_Exceptions.php yapmak ve / uygulama / kütüphaneleri / (Ya / uygulama / çekirdek / CI 2) yerleştirin

class MY_Exceptions extends CI_Exceptions {

    function __construct()
    {
        parent::__construct();
    }

    function log_exception($severity, $message, $filepath, $line)

    {   
        if (ENVIRONMENT === 'production') {
            $ci =& get_instance();

            $ci->load->library('email');
            $ci->email->from('your@example.com', 'Your Name');
            $ci->email->to('someone@example.com');
            $ci->email->cc('another@another-example.com');
            $ci->email->bcc('them@their-example.com');
            $ci->email->subject('error');
            $ci->email->message('Severity: '.$severity.'  --> '.$message. ' '.$filepath.' '.$line);
            $ci->email->send();
        }


        parent::log_exception($severity, $message, $filepath, $line);
    }

}

Çözümün dışında kalan bir şey yüklemek ve e-posta kitaplığı (veya CodeIgniters diğer kütüphanelerden ve yerli işlevlerinin herhangi bir) kullanmak için CodeIgniters süper nesne kapmak zorunda olmasıdır.

$CI =& get_instance();

Eğer $CI yerine e-kitaplığı yüklenemedi $this ve tüm parametreleri dizilişi olduğunu yaptıktan sonra. Daha fazla bilgi için click here ve Utilizing CodeIgniter Resources within Your Library bölümüne bakın.

Oh, başka bir seçenek e-posta sindirir destekleyen bir logrotation uygulama elde etmektir. Eğer vardır, ama sadece bir şey hatalar.log dosyayı izlemek ve size güncellemeleri göndermek gibi temiz ve kesinlikle error_log sadece bilgilerle sınırlı olacaktır olmayabilir ne olabilir platformu emin değil. (Hatalar.log CI sisteminde / günlükleri / klasörü vardır, Apache ve IIS, Windows olayları vardır)

Ben sadece bunu yapar bir açık kaynak projesi konusunda serbest bırakmak, ve daha değilim. Bu, hataları toplayan bir sorun izci bunları gönderir, çiftleri algılar, sorunları ve e-postalar personel dönüştürür.

Detaylar https://sourceforge.net/news/?group_id=317819&id=293422 altındadır ve versiyonu birkaç gün nedeniyle dışarı bahseder 0.1.7.

Açık kaynak izci http://elastik.sourceforge.net/ yer almaktadır

Herhangi Görüşlerinizi bekliyoruz, teşekkürler

Ben yapılandırılabilir e-posta parametreleri ile bu çözümü uygulamak için bir open source github project kurmak.