Laravel - Kesalahan dan Log

Halo, para pengembang berbakat! Hari ini, kita akan melihat dunia kesalahan dan log di Laravel. Jangan khawatir jika Anda baru dalam programming - saya akan mengarahkan Anda langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun ini. Mari kita berangkat dalam perjalanan menarik ini bersama!

Laravel - Errors & Logging

Kesalahan

Memahami Kesalahan di Laravel

Kesalahan adalah bagian yang tak terhindarkan dalam programming. Mereka seperti kecil batu penghalang di jalan menuju aplikasi yang menakjubkan. Tetapi jangan takut! Laravel menyediakan kita dengan alat yang kuat untuk menangani batu penghalang ini secara mulus.

Jenis Kesalahan

Dalam Laravel, kita biasanya menemui tiga jenis kesalahan utama:

  1. Eksepsi
  2. Kesalahan HTTP
  3. Kesalahan PHP

mari kita lihat setiap jenis ini secara detil.

Eksepsi

Eksepsi adalah objek khusus yang mewakili kesalahan dalam kode Anda. Bayangkan mereka seperti bendera merah yang muncul saat ada masalah.

Ini adalah contoh sederhana tentang cara melempar eksepsi:

if ($user->age < 18) {
throw new Exception('Anda harus berusia 18 atau lebih untuk mengakses halaman ini.');
}

Dalam kode ini, jika umur pengguna kurang dari 18, kita melempar eksepsi dengan pesan khusus. Itu seperti menempatkan "Tidak Diperbolehkan" bagi pengguna berusia di bawah 18!

Kesalahan HTTP

Kesalahan HTTP khusus untuk aplikasi web. Itu adalah kesalahan yang Anda lihat saat halaman web tidak dapat dimuat dengan benar. Laravel membuatnya mudah untuk menangani kesalahan ini.

Misalnya, untuk membuat halaman kesalahan 404 (Tidak Ditemukan) khusus:

  1. Buat file 404.blade.php di direktori resources/views/errors.
  2. Tambahkan HTML khusus ke file ini:
<h1>Ups! Halaman Tidak Ditemukan</h1>
<p>Maaf, halaman yang Anda cari tidak ada.</p>

Sekarang, saat kesalahan 404 terjadi, Laravel secara otomatis akan menampilkan halaman ini. Itu seperti membuat area "Hilang dan Ditemukan" ramah bagi pengunjung website Anda!

Kesalahan PHP

Kesalahan PHP adalah jenis kesalahan yang paling dasar. Mereka terjadi saat ada masalah dengan kode PHP itu sendiri. Laravel membantu kita menangani ini secara halus.

Untuk menyesuaikan bagaimana Laravel menangani kesalahan PHP, Anda dapat mengubah file app/Exceptions/Handler.php:

public function register()
{
$this->reportable(function (Throwable $e) {
// Logika pelaporan kesalahan khusus di sini
});
}

Ini memungkinkan Anda menambahkan logika khusus untuk menangani kesalahan PHP. Itu seperti memiliki asisten pribadi untuk menangani masalah yang tak terduga!

Log

Sekarang kita telah menelusuri kesalahan, mari bicarakan log. Log adalah seperti buku harian untuk aplikasi Anda - itu membantu Anda untuk mencatat apa yang terjadi di belakang layar.

Konfigurasi Log

Laravel menggunakan pustaka Monolog yang kuat untuk log. Anda dapat mengonfigurasi opsi log di file config/logging.php.

Ini adalah contoh cara membuat kanal log khusus:

'channels' => [
'custom' => [
'driver' => 'single',
'path' => storage_path('logs/custom.log'),
'level' => 'debug',
],
],

Ini membuatkan kanal log baru bernama 'custom' yang menulis ke file custom.log. Itu seperti membuat buku catatan khusus untuk informasi tertentu yang Anda ingin pantau!

Menulis Pesan Log

Menulis ke log sangat mudah di Laravel. Berikut adalah beberapa contoh:

Log::info('Pengguna masuk berhasil');
Log::warning('Percobaan login yang tidak sah');
Log::error('Pembayaran gagal', ['user_id' => $user->id]);

Baris ini menulis jenis pesan log yang berbeda. Itu seperti meninggalkan catatan bagi diri Anda sendiri (atau pengembang masa depan) tentang apa yang terjadi dalam aplikasi Anda.

Tingkat Log

Laravel mendukung berbagai tingkat log, masing-masing menunjukkan tingkat keparahan peristiwa yang dicatat. Berikut adalah tabel tingkat log yang tersedia, dari yang paling rendah hingga yang paling tinggi:

Tingkat Deskripsi
DEBUG Informasi debug detil
INFO Peristiwa menarik, seperti pengguna masuk
NOTICE Peristiwa normal tetapi penting
WARNING Kecelakaan yang tak termasuk kesalahan
ERROR Kesalahan runtime yang tidak memerlukan tindakan segera
CRITICAL Kondisi kritis, seperti komponen yang tak tersedia
ALERT Tindakan harus diambil segera
EMERGENCY Sistem tidak dapat digunakan

Pilih tingkat yang sesuai berdasarkan pentingnya peristiwa yang Anda catat. Itu seperti memilih warna highlighter yang tepat untuk bagian-bagian yang berbeda dari catatan belajarmu!

Melihat Log

Secara default, Laravel menyimpan log di direktori storage/logs. Anda dapat melihat log ini menggunakan editor teks apa saja. Untuk pengalaman yang lebih user-friendly, Anda dapat menggunakan perintah tail bawaan Laravel:

php artisan log:tail

Perintah ini akan menampilkan entri log baru secara real-time, seperti memantau catatan harian aplikasi Anda secara langsung!

Kesimpulan

Dan itu dia, teman-teman! Kita telah melintasi negeri kesalahan dan log di Laravel. Ingat, kesalahan bukan musuh Anda - mereka adalah kesempatan untuk meningkatkan kode Anda. Dan log adalah teman setia Anda, selalu ada untuk membantu Anda memahami apa yang terjadi dalam aplikasi Anda.

Buat terus, terus log, dan terutama, terus bersenang-senang coding! Selamat coding, para master Laravel masa depan! ??‍??‍?

Credits: Image by storyset