0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
33 tayangan
Laravel Logging
Laravel menggunakan library Monolog untuk melakukan logging. Konfigurasi logging tersimpan di file config/logging.php. Log dapat dikirim ke berbagai channel seperti file, database, slack. Log Facade digunakan untuk melakukan logging secara mudah. Konteks dan channel dapat dipilih untuk log tertentu. Berbagai handler dan formatter ditawarkan untuk menyesuaikan bentuk log.
0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
33 tayangan
Laravel Logging
Laravel menggunakan library Monolog untuk melakukan logging. Konfigurasi logging tersimpan di file config/logging.php. Log dapat dikirim ke berbagai channel seperti file, database, slack. Log Facade digunakan untuk melakukan logging secara mudah. Konteks dan channel dapat dipilih untuk log tertentu. Berbagai handler dan formatter ditawarkan untuk menyesuaikan bentuk log.
ecommerce company in Indonesia - 11+ years experiences - www.programmerzamannow.com - youtube.com/c/ProgrammerZamanNow Eko Kurniawan Khannedy ● Telegram : @khannedy ● Facebook : fb.com/ProgrammerZamanNow ● Instagram : instagram.com/programmerzamannow ● Youtube : youtube.com/c/ProgrammerZamanNow ● Telegram Channel : t.me/ProgrammerZamanNow ● Email : [email protected] Sebelum Belajar ● Laravel Dasar ● PHP Logging Agenda ● Pengenalan Laravel Logging ● Logging Configuration ● Log Facade ● Context ● Handler ● Formatter ● Dan lain-lain Pengenalan Laravel Logging Pengenalan Logging ● Materi Logging sudah kita bahas tuntas di kelas PHP Logging Pengenalan Laravel Logging ● Laravel sendiri tidak membuat fitur logging dari awal. Laravel menggunakan library monolog untuk melakukan logging ● Oleh karena itu wajib menyelesaikan kelas PHP Logging, karena di kelas ini kita tidak akan bahas lagi library Monolog ● Walaupun Laravel menggunakan library Monolog untuk melakukan logging, namun Laravel juga menambah fitur untuk mempermudah penggunaan library Monolog, sehingga kita tidak perlu melakukan konfigurasi secara manual Membuat Project Membuat Project ● composer create-project laravel/laravel=version nama-folder ● https://packagist.org/packages/laravel/laravel Logging Configuration Logging Configuration ● Laravel secara default menggunakan file config/logging.php sebagai konfigurasi untuk logging nya ● Saat kita membuat project, secara default, sudah disediakan banyak sekali konfigurasi yang bisa kita gunakan, namun yang secara default aktif adalah yang sederhana Logging Channel ● Laravel menyediakan beberapa channel (tujuan) log yang bisa kita gunakan, seperti : ● single, mengirim data log ke single file ● daily, mengirim data log ke single file, namun tiap hari akan di rotate file nya ● slack, mengirim data log ke slack chat ● syslog, mengirim data log ke syslog ● null, tidak mengirim data log kemanapun ● stack, mengirim data log ke beberapa channel sekaligus, default nya hanya mengirim ke channel single ● Secara default, Laravel akan menggunakan channel stack Log Facade Log Facade ● Untuk melakukan logging di Laravel, kita bisa dengan mudah menggunakan Log Facade ● kita tidak perlu manual membuat Logger Monolog lagi ● https://laravel.com/api/9.x/Illuminate/Support/Facades/Log.html Kode : Log Facade Kode : Hasil Log Multiple Log Channel Multiple Log Channel ● Seperti yang sudah kita bahas di materi Logging Configuration, kita bisa menggunakan stack untuk mengirim data log ke beberapa channel ● Contohnya, kita bisa mengirim log menggunakan stack channel ke single, stderr dan slack sekaligus Membuat Slack Webhook URL ● Untuk mengirim log ke slack, kita perlu membuat slack webhook URL terlebih dahulu ● https://slack.com/apps/A0F7XDUAZ-incoming-webhooks Kode : Logging Configuration Hasil Slack Context Context ● Kita tahu saat belajar di PHP Logging, di Monolog terdapat fitur bernama Context ● Itu juga bisa kita gunakan di Laravel Logging ● Log Facade memiliki parameter kedua setelah message yang bisa kita isi dengan data context, mirip seperti yang kita lakukan ketika belajar PHP Logging menggunakan Monolog Kode : Context With Context ● Atau, kita bisa gunakan function withContext(), yang secara otomatis kode selanjutnya akan menggunakan context yang kita gunakan dalam withContext() ● Ini sangat cocok ketika misal di Controller kita menambahkan withContext() berisi data user, sehingga di kode-kode selanjutnya, setiap log akan berisikan informasi siapa user yang melakukan proses logging tersebut Kode : With Context Selected Channel Selected Channel ● Secara default, Laravel akan menggunakan logging channel DEFAULT yang sudah dipilih ● Namun, pada kasus tertentu, kita mungkin ingin membuat channel, tapi hanya digunakan ketika kita mau gunakan ● Laravel juga memiliki fitur menseleksi channel yang ingin digunakan, sehingga sebelum kita kirim data log, kita bisa pilih channel mana yang akan kita gunakan ● Kita bisa menggunakan method channel(string) ● Return dari method channel() adalah Logger, sehingga kita harus menggunakan Logger tersebut untuk mengirim ke channel yang kita pilih Kode : Selected Channel Handler Handler ● Saat menggunakan driver monolog, kita bisa menentukan attribute handler yang berisi class Monolog Handler ● Contoh sebelumnya terdapat driver single untuk menyimpan data log ke file, sebenarnya jika kita mau, kita bisa menggunakan driver monolog dan handler StreamHandler Kode : File Handler Kode : Test File Handler Formatter Formatter ● Saat kita menggunakan driver monolog, secara default akan menggunakan LineFormatter ● Pada kasus tertentu, misal kita ingin bentuk log dibuat dalam bentuk JSON misalnya ● Di Laravel, untuk melakukan itu, kita bisa gunakan config formatter dengan berisi class Formatter untuk monolog nya Kode : Formatter Kode : Hasil Log Materi Selanjutnya Materi Selanjutnya ● Laravel Blade Template ● Laravel Database / Eloquent ● Laravel Validation ● Laravel Command ● Laravel HTTP Client ● Dan lain-lain