Push Notifications untuk Setiap Error di Laravel

time to read 1 min | 199 words

Karena user lebih memilih untuk menutup website daripada melaporkan error

Saya selalu kepengen tau ketika aplikasi yang saya bikin bermasalah. Ketika aplikasi yang kita buat bermasalah, pasti enak rasanya kalo ada notifikasi yang masuk ke smartphone kita, iya ga ?

Setting nya cukup mudah, kamu cuma perlu akun gmail dan aplikasi gmail di iOS atau android. Kalau kamu udah punya keduanya dan udah kamu setting supaya bisa dapet notifikasi email di smartphone kamu, maka kamu dah siap. Langkah yang kamu harus lakukan sebenernya mudah, kamu cuma harus buat aplikasi kamu kirim email setiap ada error.

Disini saya menggunakan fungsi mail() yang udah built-in di PHP karena saya ga butuh sesuatu yg spesial dan saya ga butuh tampilan email yg memukau. Simpel tapi efektif. Info yang saya butuhin cuma log error, IP pengguna dan server, sama URL dimana error terjadi. Untuk itu saya bikin script kayak gini

$ip = Request::server(‘REMOTE_ADDR’);
$host = getHostByAddr(Request::server(‘REMOTE_ADDR’));
$server = Request::server(‘HTTP_HOST’);
$url = $host.Request::server(‘REQUEST_URI’);
$message = "Client: $ip ($host)\r\nURL: http://$server\r\n\r\n$exception";
mail("you@gmail.com", "Exception at $server",$message, "From: $server <you@gmail.com>\r\nContent-Type: text/html;\r\nMime-Version: 1.0");  

Simpel kan ? Untuk Laravel 4 cukup kamu taruh di file app/start/global.php di bagian App::error. Di Laravel 3 ke bawah bisa kamu taruh di file application/config/error.php