Pencatatan dan pemantauan dalam pengembangan seluler: esensi, alat apa, dan cara mengatur

Penulis: IT Sectr Diterbitkan: 2026-05-27 Waktu membaca: 8 mnt

Pencatatan dan pemantauan adalah dua pilar stabilitas aplikasi seluler. Menurut Gartner (2025), pasar solusi APM akan mencapai $8 miliar pada tahun 2027. Pencatatan yang tepat memungkinkan tidak hanya menemukan bug, tetapi juga memprediksi masalah sebelum mempengaruhi pengguna.

Poin Utama

  • Di iOS, alat utamanya adalah os_log (pencatatan sistem bawaan) dan CocoaLumberjack (pustaka fleksibel dengan rotasi dan pemformatan). Pemantauan di iOS memungkinkan kontrol kinerja secara real-time.
  • Di Android, standarnya adalah Timber (pembungkus di atas Logcat) dan Log sistem. Timber secara otomatis menyisipkan tag kelas dan mengelola tingkat pencatatan.
  • Pencatatan terstruktur — menulis log dalam JSON. Memungkinkan analisis log secara otomatis melalui ELK, Grafana, atau Datadog. Direkomendasikan untuk produksi dan pemantauan otomatis.
  • APM (Application Performance Monitoring) — kelas alat untuk pemantauan aplikasi seluler: New Relic, Datadog, Firebase Performance.
  • Rotasi log dan pencatatan jarak jauh wajib untuk produksi. Log tidak boleh memenuhi memori perangkat dan harus dapat diakses oleh pengembang dari jarak jauh.

Pencatatan dan pemantauan di iOS: os_log dan CocoaLumberjack

Pencatatan aplikasi seluler di iOS dibangun di atas os_log — sistem bawaan Apple, tersedia sejak iOS 10. os_log menulis log ke satu log sistem (di perangkat atau melalui Console.app), mendukung kategori, tingkat, dan tag privasi. Kombinasi pencatatan dan pemantauan di iOS melalui Console.app dan xcrun memungkinkan pelacakan kesalahan dan kinerja secara real-time.

Log Level di iOS

os_log memiliki tingkat: Default, Info, Debug, Error, Fault. Dalam produksi, Error dan Fault dipertahankan — Debug dan Info dinonaktifkan. Memilih tingkat yang tepat adalah bagian dari strategi pemantauan aplikasi seluler di iOS. Privasi: %{public}@ untuk data yang tidak dilindungi, %{private}@ untuk data pribadi.

CocoaLumberjack

CocoaLumberjack adalah pustaka populer untuk pencatatan iOS. Tidak seperti os_log, ia mendukung format kustom, penulisan asinkron, dan rotasi log. DDLog, DDTTYLogger (konsol), DDFileLogger (file dengan rotasi). Untuk pemantauan jarak jauh, CocoaLumberjack dapat dikombinasikan dengan os_log — menulis ke file untuk pencatatan jarak jauh dan ke os_log untuk Console.app.

Pencatatan dan pemantauan di Android: Timber dan Log Level

Untuk pencatatan aplikasi seluler di Android, digunakan Timber — pustaka oleh Jake Wharton yang telah menjadi standar platform. Timber adalah pembungkus di atas Android Log (Logcat) yang secara otomatis menambahkan tag kelas dan mengonfigurasi Tree. Timber adalah bagian dari sistem pemantauan aplikasi seluler Android: DebugTree untuk debugging, CrashlyticsTree untuk mengirim data.

Timber secara detail

Timber menggunakan Tree — komponen yang memutuskan apa yang harus dilakukan dengan log. Dalam build debug, DebugTree (output ke Logcat), dalam rilis — CrashlyticsTree (mengirim crash). Timber.wtf() mencatat kesalahan fatal. Timber.tag("CustomTag") mengganti tag. Untuk pemantauan yang efektif, Timber dikombinasikan dengan alat APM.

Log Level di Android

Android Log memiliki tingkat: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 menghapus Log.d dan Log.v dalam rilis — Timber memungkinkan pencatatan melalui Plant. Pemilihan tingkat mempengaruhi kualitas pemantauan aplikasi seluler — dalam produksi, WARN dan ERROR dipertahankan.

Alat Platform Format Rotasi Jarak Jauh Kompleksitas
os_logiOSTerstrukturSistemConsole.appRendah
CocoaLumberjackiOSTeks/JSONDDFileLoggerYa (kustom)Sedang
TimberAndroidTeksLogcat/KustomTreeRendah
SentryiOS/AndroidJSONServerYaSedang
LogcatAndroidTeksBufferADBRendah

Saat memilih alat pencatatan, pertimbangkan: apakah Anda memerlukan pencatatan jarak jauh, seberapa sering log berubah, dan siapa yang akan menganalisisnya. Untuk startup, os_log atau Timber sudah cukup. Untuk perusahaan — CocoaLumberjack dengan pengiriman ke server. Di IT Sectr, kami menggunakan kombinasi Timber + Crashlytics untuk Android dan os_log + CocoaLumberjack untuk iOS.

Pencatatan Terstruktur

Pencatatan terstruktur — menulis log dalam format JSON, bukan teks biasa. Contoh: alih-alih "User login failed" kami menulis {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. Ini adalah dasar untuk pemantauan otomatis — tumpukan ELK dan Grafana menyaring, mengumpulkan, dan menganalisis data tersebut.

Manfaat pencatatan terstruktur

Penyaringan berdasarkan bidang: temukan semua log dengan event=crash dalam satu jam terakhir. Agregasi: buat grafik jumlah kesalahan berdasarkan versi aplikasi. Integrasi dengan ELK (Elasticsearch, Logstash, Kibana) atau Grafana. Pencatatan terstruktur tidak wajib untuk rilis pertama, tetapi menjadi penting ketika DAU melebihi 10.000.

Pencatatan Jarak Jauh dan Rotasi Log

Pencatatan jarak jauh — mengirim log dari perangkat ke server untuk pemantauan terpusat. Diimplementasikan melalui Tree kustom (Android) atau permintaan HTTP. Kirim hanya Error dan Warning — jangan buang lalu lintas pengguna. Rotasi log: DDFileLogger (iOS) setiap 1 MB atau 1 hari. Di Android, buffer Logcat terbatas.

APM dan pemantauan aplikasi seluler: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — kelas alat untuk pemantauan aplikasi seluler. APM mengukur: waktu mulai, permintaan jaringan, FPS, penggunaan memori, frekuensi crash. Pemain utama: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — tidak hanya pelaporan crash, tetapi juga pemantauan kinerja. Sentry Performance membuat jejak terdistribusi yang menunjukkan berapa lama setiap tahap berlangsung: dari menekan tombol hingga respons server. Mendukung iOS, Android, Flutter, React Native. Gratis hingga 5k peristiwa per bulan.

New Relic dan Datadog

New Relic Mobile memberikan metrik: jumlah sesi, waktu di aplikasi, frekuensi crash, permintaan jaringan. Datadog Mobile adalah alat yang lebih modern dengan dasbor real-time dan peringatan. Keduanya berbayar, tetapi memiliki tingkat gratis. IT Sectr merekomendasikan memulai dengan Firebase Performance dan beralih ke APM berbayar ketika DAU melebihi 100.000.

Firebase Performance

Firebase Performance — alat pemantauan aplikasi seluler gratis dari Google. Secara otomatis mengumpulkan metrik: waktu mulai aplikasi, permintaan HTTP (URL, metode, kode respons), FPS. Untuk pelacakan kustom, gunakan Trace API. Integrasi: tambahkan SDK ke build.gradle (Android) atau Podfile (iOS).

Trace dan metrik

Trace — segmen waktu dengan awal dan akhir yang Anda ukur. Contoh: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Metrik — indikator numerik (ukuran respons, jumlah item). Firebase Performance tidak memerlukan infrastruktur server — semua data melalui Firebase SDK. Saat memantau aplikasi seluler, Trace API memberikan konteks untuk analisis kinerja.

Pertanyaan yang Sering Diajukan

Tingkat pencatatan apa yang ada dan kapan menggunakannya?

Tingkat standar: ERROR (kesalahan kritis), WARN (masalah potensial), INFO (peristiwa utama), DEBUG (debugging), VERBOSE (pelacakan terperinci). Dalam produksi, ERROR, WARN, dan INFO dipertahankan, sisanya dinonaktifkan.

Bagaimana perbedaan Timber dengan Logcat di Android?

Timber adalah pustaka pembungkus di atas Logcat oleh Jake Wharton untuk pencatatan aplikasi seluler di Android. Secara otomatis menyisipkan tag kelas, mengonfigurasi Tree, dan menonaktifkan log dalam produksi dengan satu baris kode.

Apa itu APM dan mengapa aplikasi seluler membutuhkannya?

APM (Application Performance Monitoring) — kelas alat untuk melacak kinerja: waktu mulai, permintaan jaringan, penggunaan memori, frekuensi crash. Saat memantau aplikasi seluler, New Relic, Datadog, dan Firebase Performance membantu menemukan kemacetan sebelum keluhan pengguna.

Haruskah startup menggunakan solusi APM berbayar?

Untuk startup, Firebase Performance sudah cukup — alat pemantauan aplikasi seluler gratis. New Relic dan Datadog dihubungkan ketika pelacakan terperinci dan dasbor kustom diperlukan. IT Sectr merekomendasikan memulai dengan Firebase dan beralih ke solusi berbayar ketika DAU melebihi 100.000.

Apa itu pencatatan terstruktur dan apa kelebihannya dibandingkan teks biasa?

Pencatatan terstruktur adalah format log dalam JSON atau kunci-nilai alih-alih teks biasa. Ini memungkinkan penyaringan log berdasarkan bidang, membuat grafik, dan menganalisis secara otomatis di ELK atau Grafana. Tanpa log terstruktur, sulit menemukan pola dalam ribuan catatan.

Ringkasan

  • os_log — alat dasar pencatatan dan pemantauan di iOS. CocoaLumberjack menambahkan fleksibilitas, rotasi, dan pencatatan jarak jauh.
  • Timber — standar pencatatan aplikasi seluler di Android. DebugTree untuk debugging, CrashlyticsTree untuk rilis.
  • Pencatatan terstruktur (JSON) diperlukan untuk analisis log otomatis. Terintegrasi dengan ELK, Grafana, Datadog.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — alat pemantauan aplikasi seluler gratis untuk startup.
  • Rotasi log mencegah kelebihan memori perangkat. Konfigurasikan DDFileLogger (iOS) atau gunakan buffer Logcat (Android).
  • Pencatatan jarak jauh — kirim hanya log Error dan Warning. Semua log menghabiskan lalu lintas pengguna.
  • Trace API dan breadcrumbs (Sentry) memberikan konteks untuk pemantauan aplikasi seluler, mengubah log menjadi cerita insiden.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek