0% 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.

Diunggah oleh

Chipenk
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% 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.

Diunggah oleh

Chipenk
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 40

Laravel Logging

Eko Kurniawan Khannedy


Eko Kurniawan Khannedy

- Technical architect at one of the biggest


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

Anda mungkin juga menyukai