Kamu Wajib Tahu Best Practice Logging Management

Logging Management dari Nol: console.log → Centralized Logging (Alloy → Loki → Grafana) Lognya jalan lancar di laptop sendiri, semua hijau, kelihatan aman. Justru itu jebakannya. Di video ini kita bedah pelan-pelan kenapa `console.log` nggak cukup, terus naik bertahap sampai punya centralized logging yang beneran kepakai pas aplikasi di-scale ke banyak container. Studi kasusnya 2 microservice kecil (order-service & payment-service) jalan di Bun, dibungkus container pakai Podman, dan log-nya dikumpulin ke Grafana Loki lewat Grafana Alloy. 💻 SOURCE CODE (GITHUB) https://github.com/ProgrammerZamanNow... Tiap babak ada di branch-nya sendiri, tinggal checkout buat ngikutin: Babak 1 (console.log) ......... git checkout 01-console-log Babak 2 (structured logging) .. git checkout 02-proper-logging Babak 3 (di-scale) ............ git checkout 03-scale Babak 4 (centralized logging) . git checkout 04-centralized ⏱️ TIMELINE 00:00 — Pendahuluan 02:05 — Bagian 1 Titik Awal 08:49 — Bagian 2 Beresin Lognya di Aplikasi 21:27 — Bagian 3 Pas di-scale mulai kacau 28:32 — Bagian 4 Centralized Logging 36:13 — Kesimpulan 📌 YANG DIBAHAS Kenapa `console.log` jadi masalah: log nggak rapi buat mesin, bisa bocorin data sensitif (password), dan nggak bisa dilacak antar service. Structured logging: log berbentuk JSON, ada level (info/warn/error), sensor data sensitif (redact), dan pasang requestId buat ngelacak satu request ujung ke ujung. Masalah pas di-scale: log kececer di banyak container, hilang pas container restart, dan risiko disk penuh kalau nulis ke file. Makanya: stdout only, jangan ke file. Centralized logging ala 12-Factor App: aplikasi cukup buang log ke stdout, infrastruktur yang ngumpulin (Alloy), nyimpen (Loki), dan nyediain pencarian (Grafana). Label vs structured metadata di Loki: kenapa requestId TIDAK dijadikan label (high cardinality explosion), dan cara nyimpen field cardinality-tinggi yang tetap bisa difilter. Kenapa pakai Grafana Alloy, bukan Promtail (Promtail sudah disetop 2 Maret 2026). 🧰 STACK & TOOLS Bun (runtime + HTTP server) Pino (structured logging) Podman + podman-compose (container) nginx (load balancer) Grafana Alloy (pengumpul log) Grafana Loki (penyimpan & mesin query) Grafana + LogQL (pencarian & dashboard) ✅ ATURAN MAIN LOGGING 1. Pakai library logging + level, jangan console.log 2. Lognya JSON 3. Sensor data sensitif (redact) 4. Pasang requestId buat ngelacak 5. Buang ke stdout, jangan ke file 6. Kirim ke centralized logging (Alloy → Loki → Grafana) #logging #observability #grafana #loki #podman #microservices #devops #bun JOIN PREMIUM : https://www.youtube.com/ProgrammerZam... DISCORD PREMIUM :    • Post   Donasi : Saweria : https://saweria.co/ProgrammerZamanNow Social Media : Instagram :   / programmerzamannow   Facebook :   / programmerzamannow   Telegram : https://t.me/ProgrammerZamanNow Youtube :    / programmerzamannow