CodeNicter Login File Contoh
Baca artikel ini untuk belajar dari contoh tentang cara menerapkan teknik logging yang dapat digunakan dalam PHP menyimpan informasi yang dicatat dalam file.
![](https://www.phpclasses.org/blog/package/11642/post/1/view/view.gif)
Apa itu Pencatatan?
Mengapa Anda Harus Menulis Informasi Log ke File?
Apa yang Harus Dicatat?
Logging File Sederhana melalui Kelas Logging PHP
1. Instalasi Kelas File Logging PHP
2. Gunakan Kelas di Aplikasi Anda
3. Baca File Log
4. Periksa Kelas File Log
Mengunduh Semua File Paket
Menginstal Paket dengan Komposer
Kesimpulan
Apa itu Pencatatan?
Anda mungkin sudah memiliki pemahaman intuitif tentang apa itu logging, tetapi masih ada baiknya meluangkan waktu untuk memahami definisi yang tepat yang dapat kita kembangkan. Kami telah mendefinisikan logging dengan cara ini:
Logging adalah aktivitas yang terdiri dari terus-menerus merekam informasi tentang perilaku runtime aplikasi.
Ada dua poin penting yang perlu diperhatikan di sini.
Pertama, logging adalah semua tentang perilaku runtime aplikasi. Dengan kata lain, ini tentang merekam peristiwa aplikasi dalam urutan kronologisnya.
Kedua, Anda selalu ingin menyimpan log pada media yang persisten (non-volatile). Arti sebenarnya dari "persisten" tergantung pada kebutuhan dan lingkungan Anda, tetapi setidaknya Anda ingin dapat membaca log meskipun aplikasi - atau seluruh server - mogok.
Namun, secara umum, menyimpan sebagai file (teks atau HTML) dalam sistem file sudah cukup.
Meskipun definisi ini menjelaskan apa itu logging, definisi ini tidak menjelaskan mengapa logging itu penting dalam sebuah aplikasi. Ini adalah pertanyaan penting, yang akan saya bahas secara rinci di bawah ini.
Mengapa Anda Harus Menulis Informasi Log ke File?
Jika kita hidup di dunia yang ideal, aplikasi kita akan bekerja sesuai rencana. Tetapi kenyataannya adalah bahwa aplikasi yang dirancang dengan baik pun memiliki kekurangan dan dalam bahaya runtuh pada satu titik atau lainnya. Ini menjadi lebih buruk ketika aplikasi tidak dibatalkan dengan pesan kesalahan, tetapi berperilaku dengan cara yang tidak dapat dilacak yang tidak diinginkan.
Jika seorang pengembang yang bekerja pada PC-nya dan menemukan kesalahan, ini biasanya relatif mudah untuk diperbaiki. Lagi pula, pengembang tahu apa yang sedang dia kerjakan dan urutan peristiwa yang menyebabkan kesalahan. Dia juga dapat men-debug aplikasinya dan dengan demikian memperoleh banyak informasi tambahan tentang sistem.
Tetapi pada titik tertentu dia harus merilis aplikasi untuk penggunanya. Aplikasi dapat digunakan dengan cara yang tidak direncanakan atau di lingkungan yang tidak dimaksudkan, dan mungkin ada banyak pengguna yang mengakses aplikasi secara bersamaan.
Selain itu, aplikasi harus berfungsi untuk jangka waktu yang lebih lama. Debugging kesalahan dalam situasi ini sangat sulit tanpa informasi tambahan.
Merekam perilaku runtime aplikasi Anda memungkinkan Anda untuk menyelidiki semua jenis perilaku yang tidak diinginkan sesudahnya. Dengan kata lain, bahkan jika aplikasi Anda mogok dan kehilangan semua status waktu prosesnya, log aplikasi akan membantu Anda memahami apa yang menyebabkan mogok.
Tetapi manfaat protokol tidak berhenti di situ. Log menjadi sangat berharga ketika pengguna melaporkan bug: Anda dapat mengaudit aplikasi Anda, termasuk audit retrospektif (apa yang terjadi pada hari tertentu pada waktu tertentu).
File log dapat dianalisis kapan saja, dan misalnya, memperingatkan tentang kemungkinan masalah kinerja; dan banyak lagi.
Singkatnya: Pencatatan file adalah suatu keharusan untuk aplikasi perangkat lunak karena memberi Anda gambaran umum tentang riwayat runtime aplikasi Anda.
Apa yang Harus Dicatat?
Pendekatan logging ke file memenuhi persyaratan ketekunan karena menyimpan log dalam file dapat dibaca nanti oleh pengembang aplikasi.
Namun, itu tidak selalu baik untuk merekam semua aktivitas waktu nyata karena kita tidak selalu tahu kapan persisnya setiap peristiwa tertentu terjadi dan merekam setiap peristiwa aplikasi kecil mungkin sangat melelahkan.
Ini mengarah ke pertanyaan yang lebih umum: Informasi apa yang harus dicatat?
Ini adalah praktik umum untuk menyertakan setidaknya informasi berikut di setiap entri log:
- cap waktu - Kapan tepatnya peristiwa yang dijelaskan oleh entri log terjadi? Untuk membuat hidup lebih mudah, tanggal/waktu ISO 8601 yang diformat dengan benar dalam UTC harus digunakan.
- konteks acara - Misalnya, akan menjadi ide yang buruk untuk mencatat "Nama: tes; email: mail@example.com", karena Anda mungkin akan lupa apa artinya dalam waktu satu bulan. Berikut adalah alternatif yang lebih baik untuk membuat entri log lebih deskriptif: "Login: User=test eMail=mail@example.com"
- Tingkat keparahan protokol - Seperti "Kesalahan", "Peringatan", "Info", dll. Informasi ini memberikan konteks tambahan dan memungkinkan pemfilteran log yang mudah berdasarkan tingkat keparahan.
Saya menyarankan agar daftar di atas harus dianggap sebagai dasar mutlak untuk strategi logging yang baik dan informasi yang tidak kurang dari ini harus dicatat. Jika tidak, akan sangat sulit untuk membaca dan memahami log.
Juga artikel lengkap hanya untuk dilihat sebagai pedoman yang sangat dasar. Ini adalah pengantar, tetapi tentu saja masih banyak lagi yang bisa dikatakan tentang pencatatan file. Saya merekomendasikan untuk membaca " Logging Cheat Sheet " OWASP untuk mendapatkan gambaran yang lebih luas tentang topik penting ini.
Logging File Sederhana melalui Kelas Logging PHP
Tentu, Anda dapat memprogram solusi logging Anda sendiri, tetapi menurut saya itu adalah pekerjaan yang tidak perlu. Sebagian besar waktu Anda masuk hanya karena Anda harus melakukannya, maksud saya itu bukan bagian dari fungsi utama aplikasi. Setiap menit yang dapat disimpan untuk mengimplementasikan solusi logging adalah satu menit yang dapat Anda masukkan ke dalam fungsionalitas inti aplikasi utama.
Untungnya, persyaratan untuk solusi logging sangat mirip untuk jutaan pengembang, sehingga solusi standar dapat diselesaikan dalam bentuk kelas logging. Pustaka PHP siap pakai ini , hanya perlu diimpor dan dapat digunakan di proyek PHP apa pun.
Biasanya Anda tidak perlu khawatir tentang fungsionalitas yang tepat. Dengan kata lain, tidak perlu menemukan kembali roda dalam hal logging file log.
Izinkan saya memperkenalkan kelas logging sederhana saya di PHP di bagian selanjutnya, saya akan menunjukkan bagaimana ini dapat digunakan dalam proyek apa pun.
1. Instalasi Kelas File Logging PHP
Jika Anda mengembangkan aplikasi Anda dengan PHP, cukup salin file kelas log ke direktori root Anda. Untuk informasi lebih lanjut, lihat catatan dokumentasi di awal kelas.
Berikut adalah file log PHP class log.inc.php sebagai source code lengkap (hanya 200 baris). Anda dapat mengunduhnya di sini sehingga Anda dapat menggunakannya di lingkungan pengembangan Anda.