Mobil ishlab chiqishda loglash va monitoring: mohiyati, qanday vositalar va qanday sozlash

Muallif: IT Sectr Nashr etilgan: 2026-05-27 O'qish vaqti: 8 daq

Loglash va monitoring mobil ilova barqarorligining ikkita ustunidir. Gartner (2025) ma'lumotlariga ko'ra, APM yechimlari bozori 2027 yilga kelib 8 milliard dollarga yetadi. To'g'ri loglash nafaqat xatolarni topishga, balki foydalanuvchilarga ta'sir qilishdan oldin muammolarni bashorat qilishga imkon beradi.

Asosiy fikrlar

  • iOS-da asosiy vositalar os_log (o'rnatilgan tizim loglash) va CocoaLumberjack (aylanish va formatlash bilan moslashuvchan kutubxona) hisoblanadi. iOS-da monitoring real vaqtda ishlashni nazorat qilish imkonini beradi.
  • Android-da standart Timber (Logcat ustidagi o'ram) va tizim Logidir. Timber avtomatik ravishda sinf tegini kiritadi va loglash darajalarini boshqaradi.
  • Structured logging — JSON formatida log yozish. ELK, Grafana yoki Datadog orqali loglarni avtomatik tahlil qilish imkonini beradi. Ishlab chiqarish va avtomatik monitoring uchun tavsiya etiladi.
  • APM (Application Performance Monitoring) — mobil ilovalarni monitoring qilish uchun vositalar sinfi: New Relic, Datadog, Firebase Performance.
  • Log aylanishi va masofaviy loglash ishlab chiqarish uchun majburiydir. Loglar qurilma xotirasini to'ldirmasligi va ishlab chiquvchiga masofadan turib mavjud bo'lishi kerak.

iOS-da loglash va monitoring: os_log va CocoaLumberjack

iOS-da mobil ilova loglash os_log — Apple-ning o'rnatilgan tizimi (iOS 10 dan mavjud) asosida qurilgan. os_log yagona tizim jurnaliga (qurilmada yoki Console.app orqali) log yozadi, toifalar, darajalar va maxfiylik teglarini qo'llab-quvvatlaydi. Console.app va xcrun orqali iOS-da loglash va monitoring kombinatsiyasi real vaqtda xatolar va ishlashni kuzatish imkonini beradi.

iOS-da Log Level

os_log darajalarga ega: Default, Info, Debug, Error, Fault. Ishlab chiqarishda Error va Fault saqlanadi — Debug va Info o'chiriladi. To'g'ri darajani tanlash iOS-da mobil ilovalarni monitoring qilish strategiyasining bir qismidir. Maxfiylik: himoyalanmagan ma'lumotlar uchun %{public}@, shaxsiy ma'lumotlar uchun %{private}@.

CocoaLumberjack

CocoaLumberjack iOS loglash uchun mashhur kutubxonadir. os_log dan farqli o'laroq, u maxsus formatlarni, asinxron yozishni va log aylanishini qo'llab-quvvatlaydi. DDLog, DDTTYLogger (konsol), DDFileLogger (aylanish bilan fayl). Masofaviy monitoring uchun CocoaLumberjack os_log bilan birlashtirilishi mumkin — masofaviy loglash uchun faylga va Console.app uchun os_log ga yozing.

Android-da loglash va monitoring: Timber va Log Level

Android-da mobil ilova loglash uchun Timber ishlatiladi — Jake Wharton tomonidan yaratilgan kutubxona, platforma standartiga aylangan. Timber Android Log (Logcat) ustidagi o'ram bo'lib, avtomatik ravishda sinf tegini qo'shadi va Tree-ni sozlaydi. Timber Android mobil ilova monitoring tizimining bir qismidir: nosozliklarni tuzatish uchun DebugTree, ma'lumotlarni yuborish uchun CrashlyticsTree.

Timber batafsil

Timber Tree dan foydalanadi — log bilan nima qilishni hal qiluvchi komponent. Nosozliklarni tuzatish qurilmalarida DebugTree (Logcat ga chiqish), relizda — CrashlyticsTree (qulashlarni yuborish). Timber.wtf() halokatli xatolarni loglaydi. Timber.tag("CustomTag") tegni bekor qiladi. Samarali monitoring uchun Timber APM vositalari bilan birlashtiriladi.

Android-da Log Level

Android Log darajalarga ega: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 relizda Log.d va Log.v ni olib tashlaydi — Timber Plant orqali loglash imkonini beradi. Darajani tanlash mobil ilova monitoringi sifatiga ta'sir qiladi — ishlab chiqarishda WARN va ERROR saqlanadi.

Vosita Platforma Format Aylanish Masofaviy Murakkablik
os_logiOSStrukturalashganTizimConsole.appPast
CocoaLumberjackiOSMatn/JSONDDFileLoggerHa (maxsus)O'rta
TimberAndroidMatnLogcat/MaxsusTreePast
SentryiOS/AndroidJSONServerHaO'rta
LogcatAndroidMatnBuferADBPast

Loglash vositasini tanlashda e'tiborga oling: masofaviy loglash kerakmi, loglar qanchalik tez-tez o'zgaradi va ularni kim tahlil qiladi. Startaplar uchun os_log yoki Timber yetarli. Korxonalar uchun — serverga yuborish bilan CocoaLumberjack. IT Sectr da Android uchun Timber + Crashlytics va iOS uchun os_log + CocoaLumberjack kombinatsiyasidan foydalanamiz.

Strukturalashgan Loglash

Strukturalashgan loglash — oddiy matn o'rniga JSON formatida log yozish. Misol: "User login failed" o'rniga {"event": "login_failed", "user_id": 123, "reason": "invalid_password"} yozamiz. Bu avtomatik monitoring uchun asosdir — ELK to'plami va Grafana bunday ma'lumotlarni filtrlaydi, to'playdi va tahlil qiladi.

Strukturalashgan loglashning afzalliklari

Maydonlar bo'yicha filtrlash: oxirgi bir soatda event=crash bo'lgan barcha loglarni toping. Jamlash: ilova versiyasi bo'yicha xatolar sonining grafigini tuzing. ELK (Elasticsearch, Logstash, Kibana) yoki Grafana bilan integratsiya. Birinchi relizlar uchun strukturalashgan loglash majburiy emas, lekin DAU 10 000 dan oshganda muhim bo'ladi.

Masofaviy Loglash va Log Aylanishi

Masofaviy loglash — markazlashtirilgan monitoring uchun qurilmadan serverga log yuborish. Maxsus Tree (Android) yoki HTTP so'rovlari orqali amalga oshiriladi. Faqat Error va Warning yuboring — foydalanuvchi trafigini isrof qilmang. Log aylanishi: DDFileLogger (iOS) har 1 MB yoki 1 kunda. Android da Logcat buferi cheklangan.

APM va mobil ilovalarni monitoring qilish: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — mobil ilovalarni monitoring qilish uchun vositalar sinfi. APM o'lchaydi: ishga tushirish vaqti, tarmoq so'rovlari, FPS, xotira ishlatilishi, qulash chastotasi. Asosiy o'yinchilar: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — nafaqat qulash haqida xabar berish, balki ishlash monitoringi. Sentry Performance taqsimlangan izlarni yaratadi, bu har bir bosqich qancha vaqt olganini ko'rsatadi: tugmani bosishdan server javobigacha. iOS, Android, Flutter, React Native-ni qo'llab-quvvatlaydi. Oyiga 5k hodisagacha bepul.

New Relic va Datadog

New Relic Mobile ko'rsatkichlar beradi: seanslar soni, ilovada vaqt, qulash chastotasi, tarmoq so'rovlari. Datadog Mobile — real-vaqt paneli va ogohlantirishlari bilan zamonaviyroq vosita. Ikkalasi ham pullik, lekin bepul darajalari bor. IT Sectr Firebase Performance bilan boshlashni va DAU 100 000 dan oshganda pullik APM ga o'tishni tavsiya qiladi.

Firebase Performance

Firebase Performance — Google-dan bepul mobil ilova monitoringi vositasi. Avtomatik ravishda ko'rsatkichlarni to'playdi: ilovani ishga tushirish vaqti, HTTP so'rovlari (URL, usul, javob kodi), FPS. Maxsus kuzatish uchun Trace API dan foydalaning. Integratsiya: build.gradle (Android) yoki Podfile (iOS) ga SDK qo'shing.

Trace va ko'rsatkichlar

Trace — boshlanishi va tugashi bilan o'lchaydigan vaqt segmenti. Misol: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Ko'rsatkichlar — raqamli ko'rsatkichlar (javob hajmi, elementlar soni). Firebase Performance server infratuzilmasini talab qilmaydi — barcha ma'lumotlar Firebase SDK orqali o'tadi. Mobil ilovalarni monitoring qilganda, Trace API ishlash tahlili uchun kontekst beradi.

Tez-tez so'raladigan savollar

Qanday loglash darajalari mavjud va ularni qachon ishlatish kerak?

Standart darajalar: ERROR (tanqidiy xatolar), WARN (potensial muammolar), INFO (asosiy hodisalar), DEBUG (nosozliklarni tuzatish), VERBOSE (batafsil kuzatish). Ishlab chiqarishda ERROR, WARN va INFO saqlanadi, qolganlari o'chiriladi.

Android-da Timber Logcat dan qanday farq qiladi?

Timber Android-da mobil ilovalarni loglash uchun Jake Wharton tomonidan Logcat ustidagi o'ram kutubxonasidir. U avtomatik ravishda sinf tegini kiritadi, Tree-ni sozlaydi va bir qator kod bilan ishlab chiqarishda loglarni o'chiradi.

APM nima va nima uchun mobil ilovaga kerak?

APM (Application Performance Monitoring) — ishlashni kuzatish uchun vositalar sinfi: ishga tushirish vaqti, tarmoq so'rovlari, xotira ishlatilishi, qulash chastotasi. Mobil ilovalarni monitoring qilganda, New Relic, Datadog va Firebase Performance foydalanuvchi shikoyatlaridan oldin to'siqlarni topishga yordam beradi.

Startap pullik APM yechimlaridan foydalanishi kerakmi?

Startap uchun Firebase Performance yetarli — bepul mobil ilova monitoringi vositasi. New Relic va Datadog batafsil kuzatish va maxsus panellar kerak bo'lganda ulanadi. IT Sectr Firebase bilan boshlashni va DAU 100 000 dan oshganda pullik yechimlarga o'tishni tavsiya qiladi.

Strukturalashgan loglash nima va oddiy matndan qanday yaxshi?

Strukturalashgan loglash oddiy matn o'rniga JSON yoki kalit-qiymat formatidagi log formatidir. Bu loglarni maydonlar bo'yicha filtrlash, grafiklar qurish va ELK yoki Grafana da avtomatik tahlil qilish imkonini beradi. Strukturalashgan loglarsiz minglab yozuvlarda naqshlarni topish qiyin.

Xulosa

  • os_log — iOS-da asosiy loglash va monitoring vositasi. CocoaLumberjack moslashuvchanlik, aylanish va masofaviy loglash qo'shadi.
  • Timber — Android-da mobil ilova loglash standardi. Nosozliklarni tuzatish uchun DebugTree, reliz uchun CrashlyticsTree.
  • Strukturalashgan loglash (JSON) avtomatik log tahlili uchun zarur. ELK, Grafana, Datadog bilan integratsiyalanadi.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — startaplar uchun bepul mobil ilova monitoringi vositasi.
  • Log aylanishi qurilma xotirasining to'lib ketishini oldini oladi. DDFileLogger (iOS) sozlang yoki Logcat buferidan (Android) foydalaning.
  • Masofaviy loglash — faqat Error va Warning loglarini yuboring. Barcha loglar foydalanuvchi trafigini isrof qiladi.
  • Trace API va breadcrumbs (Sentry) mobil ilova monitoringi uchun kontekst beradi, loglarni hodisa hikoyasiga aylantiradi.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish