Saya ingin error logging di PHP CodeIgniter. Bagaimana cara mengaktifkan error logging?
Saya punya beberapa pertanyaan:
- Apa saja langkah-langkah untuk mencatat kesalahan?
- Bagaimana file log kesalahan dibuat?
- Bagaimana cara mendorong pesan kesalahan ke dalam file log (setiap kali terjadi kesalahan)?
- Bagaimana Anda mengirim email kesalahan itu ke alamat email?
Untuk sederhananya meletakkan baris di log kesalahan server, gunakan fungsi error_log () PHP. Namun, metode itu tidak akan mengirim email.
Pertama, untuk memicu kesalahan:
trigger_error("Error message here", E_USER_ERROR);
Secara default, ini akan masuk ke file log kesalahan server. Lihat direktif ErrorLog untuk Apache. Untuk mengatur file log Anda sendiri:
ini_set('error_log', 'path/to/log/file');
Perhatikan bahwa file log yang Anda pilih harus sudah ada dan dapat ditulis oleh proses server. Cara paling sederhana untuk membuat file dapat ditulis adalah menjadikan pengguna server sebagai pemilik file. (Pengguna server mungkin bukan siapa-siapa, _www, apache, atau yang lainnya, bergantung pada distribusi OS Anda.)
Untuk mengirim kesalahan melalui email, Anda perlu menyiapkan penangan kesalahan khusus:
function mail_error($errno, $errstr, $errfile, $errline) { $message = "[Error $errno] $errstr - Error on line $errline in file $errfile"; error_log($message); // writes the error to the log file mail('[email protected]', 'I have an error', $message); } set_error_handler('mail_error', E_ALL^E_NOTICE);
Silakan lihat dokumentasi PHP yang relevan untuk info lebih lanjut.
sumber
Juga pastikan bahwa Anda telah mengizinkan codeigniter untuk mencatat jenis pesan yang Anda inginkan dalam file konfigurasi.
yaitu
$config['log_threshold'] = [log_level ranges 0-4];
sumber
Lebih lanjut tentang pertanyaan bagian 4 Bagaimana Anda mengirim email kesalahan itu ke alamat email? Fungsi error_log juga memiliki tujuan email. http://php.net/manual/en/function.error-log.php
Agha, di sini saya menemukan contoh yang menunjukkan penggunaan. Kirim pesan kesalahan melalui email menggunakan error_log ()
error_log($this->_errorMsg, 1, ADMIN_MAIL, "Content-Type: text/html; charset=utf8\r\nFrom: ".MAIL_ERR_FROM."\r\nTo: ".ADMIN_MAIL);
sumber
In config.php add or edit the following lines to this: ------------------------------------------------------ $config['log_threshold'] = 4; // (1/2/3) $config['log_path'] = '/home/path/to/application/logs/'; Run this command in the terminal: ---------------------------------- sudo chmod -R 777 /home/path/to/application/logs/
sumber