PHP Logging
PHP Logging
● Monolog : https://github.com/Seldaek/monolog
● Analog : https://github.com/jbroadway/analog
● Log4PHP : https://logging.apache.org/log4php/
● KLogger : https://github.com/katzgrau/KLogger
● dan lain-lain
Monolog
● Pada kelas ini kita akan menggunakan Monolog
● Monolog adalah library logging untuk PHP yang saat ini paling populer
● Bahkan framework Laravel pun menggunakan Monolog
● https://packagist.org/packages/monolog/monolog
Membuat Project
Clone Project
● https://github.com/ProgrammerZamanNow/belajar-php-mvc
Menambah Dependency
● https://packagist.org/packages/monolog/monolog
Logger
Logger
● Logger merupakan class yang digunakan untuk melakukan logging
● Untuk membuat object Logger sangat mudah, kita cukup gunakan nama logger yang kita inginkan di
parameter constructor nya
Kode : Membuat Logger
Nama Logger dengan Nama Class
● Salah satu kebiasaan ketika membuat object Logger, adalah menggunakan nama logger dengan nama class
lokasi Logger nya
● Misal jika kita membuat object Logger di class ProductController, maka kita akan menggunakan nama
logger dengan ProductController::class
● Salah satu kegunaannya adalah, kita bisa tahu lokasi kita melakukan logging dari nama Logger
Kode : Membuat Logger dengan Nama
Handler
Handler
● Monolog memilih fitur yang bernama Handler
● Handler merupakan object yang bertugas mengirim aktivitas log event yang kira kirim ke Logger ke target
yang dituju
● Secara default, tidak ada Handler sama sekali ketika kita membuat Logger, kita perlu menambahkan
Handler ke Logger secara manual
● Handler di Monolog di representasikan dalam interface HandlerInterface
● https://github.com/Seldaek/monolog/blob/main/src/Monolog/Handler/HandlerInterface.php
Implementasi Handler
● Karena HandlerInterface adalah sebuah Interface, maka untuk menambahkan Handler, kita perlu membuat
implementasi class nya
● Tapi tenang saja, Monolog sudah menyediakan banyak sekali Handler yang kita butuhkan
Contoh Handler
Stream Handler
● Salah satu Handler yang sering sekali digunakan adalah StreamHandler
● StreamHandler merupakan Handler yang bisa kita gunakan untuk mengirim log event ke File atau ke
Console
● https://github.com/Seldaek/monolog/blob/main/src/Monolog/Handler/StreamHandler.php
Kode : Menambah Handler
Logging
Logging
● Setelah kita membuat Logger dan menambah Handler ke Logger
● Kita bisa mulai melakukan logging
● Ada banyak method di Logger yang bisa kita gunakan untuk melakukan logging, dan akan kita bahas
detail di bab Level
Kode : Melakukan Logging
Level
Level
● Saat kita mengirim log event, kita bisa menentukan level dari log event tersebut
● Monolog mendukung banyak sekali level, dimana cara kerja level itu bertingkat, dari yang paling rendah
kepaling tinggi
● Biasanya level digunakan untuk menentukan jenis log event, misal jika log event berupa informasi, kita
gunakan level info, jika berupa masalah, kita gunakan level error, jika berupa informasi untuk proses
debugging, kita gunakan level debug, dan lain-lain
Daftar Level
Level Logger Method Value