Logging: CallLogging Plugin
Penjelasan
install(CallLogging) mencatat tiap request masuk (method, path, status code, durasi) — terintegrasi dengan SLF4J (standar logging Java/Kotlin), bisa dikustomisasi format log-nya lewat parameter format { call -> ... }.
Contoh Konsep
import io.ktor.server.plugins.calllogging.*
import org.slf4j.event.*
fun Application.module() {
install(CallLogging) {
level = Level.INFO
format { call ->
val status = call.response.status()
val method = call.request.httpMethod.value
val path = call.request.path()
"$status: $method $path"
}
}
}
Praktikum
Tulis install(CallLogging) dengan level Level.INFO, dan format custom yang mencetak "[REQUEST] {method} {path}" (ambil dari call.request.httpMethod.value dan call.request.path()).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
CallLogging SEBAIKNYA di-install PALING AWAL (sebelum plugin lain seperti Authentication) supaya SEMUA request tercatat, TERMASUK yang ditolak plugin lain sebelum sampai ke route handler — kalau di-install belakangan, request yang gagal di plugin sebelumnya tidak akan pernah tercatat.