Mobil inkişafda loglama və monitorinq: mahiyyəti, hansı alətlər və necə qurulacağı

Müəllif: IT Sectr Dərc olunub: 2026-05-27 Oxuma vaxtı: 8 dəq

Loglama və monitorinq mobil tətbiqin sabitliyinin iki sütunudur. Gartner (2025)-in məlumatına görə, APM həlləri bazarı 2027-ci ilə qədər 8 milyard dollara çatacaq. Düzgün loglama təkcə səhvləri tapmağa deyil, həm də istifadəçilərə təsir etməzdən əvvəl problemləri proqnozlaşdırmağa imkan verir.

Əsas məqamlar

  • iOS-da əsas alətlər os_log (daxili sistem loglaması) və CocoaLumberjack (fırlanma və formatlaşdırma ilə çevik kitabxana)dir. iOS-da monitorinq real vaxtda performansa nəzarət etməyə imkan verir.
  • Android-də standart Timber (Logcat üzərində sarğı) və sistem Log-dur. Timber avtomatik olaraq sinif etiketini daxil edir və loglama səviyyələrini idarə edir.
  • Structured logging — JSON formatında log yazmaq. ELK, Grafana və ya Datadog vasitəsilə logları avtomatik təhlil etməyə imkan verir. İstehsal və avtomatik monitorinq üçün tövsiyə olunur.
  • APM (Application Performance Monitoring) — mobil tətbiqlərin monitorinqi üçün alətlər sinfi: New Relic, Datadog, Firebase Performance.
  • Log fırlanması və uzaqdan loglama istehsal üçün məcburidir. Loglar cihaz yaddaşını doldurmamalı və tərtibatçıya uzaqdan əlçatan olmalıdır.

iOS-da loglama və monitorinq: os_log və CocoaLumberjack

iOS-da mobil tətbiq loglaması os_log — Apple-ın daxili sistemi (iOS 10-dan mövcuddur) üzərində qurulur. os_log vahid sistem jurnalına (cihazda və ya Console.app vasitəsilə) log yazır, kateqoriyaları, səviyyələri və məxfilik etiketlərini dəstəkləyir. Console.app və xcrun vasitəsilə iOS-da loglama və monitorinqin birləşməsi real vaxtda səhvləri və performansı izləməyə imkan verir.

iOS-da Log Level

os_log səviyyələrə malikdir: Default, Info, Debug, Error, Fault. İstehsalda Error və Fault saxlanılır — Debug və Info söndürülür. Düzgün səviyyəni seçmək iOS-da mobil tətbiqlərin monitorinqi strategiyasının bir hissəsidir. Məxfilik: qorunmayan məlumatlar üçün %{public}@, şəxsi məlumatlar üçün %{private}@.

CocoaLumberjack

CocoaLumberjack iOS loglaması üçün məşhur kitabxanadır. os_log-dan fərqli olaraq, xüsusi formatları, asinxron yazmanı və log fırlanmasını dəstəkləyir. DDLog, DDTTYLogger (konsol), DDFileLogger (fırlanma ilə fayl). Uzaqdan monitorinq üçün CocoaLumberjack os_log ilə birləşdirilə bilər — uzaqdan loglama üçün fayla və Console.app üçün os_log-a yazın.

Android-də loglama və monitorinq: Timber və Log Level

Android-də mobil tətbiq loglaması üçün Timber istifadə olunur — Jake Wharton tərəfindən kitabxana, platformanın standartına çevrilmişdir. Timber Android Log (Logcat) üzərində sarğıdır, avtomatik olaraq sinif etiketini əlavə edir və Tree-ni konfiqurasiya edir. Timber Android mobil tətbiq monitorinq sisteminin bir hissəsidir: sazlama üçün DebugTree, məlumat göndərmək üçün CrashlyticsTree.

Timber ətraflı

Timber Tree istifadə edir — logla nə ediləcəyinə qərar verən komponent. Sazlama qurmalarında DebugTree (Logcat-a çıxış), buraxılışda — CrashlyticsTree (çökmələrin göndərilməsi). Timber.wtf() ölümcül səhvləri loglayır. Timber.tag("CustomTag") etiketi ləğv edir. Effektiv monitorinq üçün Timber APM alətləri ilə birləşdirilir.

Android-də Log Level

Android Log səviyyələrə malikdir: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 buraxılışda Log.d və Log.v-ni silir — Timber Plant vasitəsilə loglamağa imkan verir. Səviyyənin seçimi mobil tətbiq monitorinqinin keyfiyyətinə təsir edir — istehsalda WARN və ERROR saxlanılır.

Alət Platforma Format Fırlanma Uzaqdan Mürəkkəblik
os_logiOSStrukturlaşdırılmışSistemConsole.appAşağı
CocoaLumberjackiOSMətn/JSONDDFileLoggerBəli (xüsusi)Orta
TimberAndroidMətnLogcat/XüsusiTreeAşağı
SentryiOS/AndroidJSONServerBəliOrta
LogcatAndroidMətnBufferADBAşağı

Loglama aləti seçərkən nəzərə alın: uzaqdan loglama lazımdırmı, loglar nə qədər tez-tez dəyişir və onları kim təhlil edəcək. Startaplar üçün os_log və ya Timber kifayətdir. Müəssisələr üçün — serverə göndərmə ilə CocoaLumberjack. IT Sectr-də Android üçün Timber + Crashlytics və iOS üçün os_log + CocoaLumberjack birləşməsindən istifadə edirik.

Strukturlaşdırılmış Loglama

Strukturlaşdırılmış loglama — düz mətn əvəzinə JSON formatında log yazmaq. Nümunə: "User login failed" əvəzinə {"event": "login_failed", "user_id": 123, "reason": "invalid_password"} yazırıq. Bu, avtomatik monitorinqin əsasıdır — ELK yığını və Grafana belə məlumatları süzür, toplayır və təhlil edir.

Strukturlaşdırılmış loglamanın üstünlükləri

Sahələr üzrə süzgəc: son bir saatda event=crash olan bütün logları tapın. Toplama: tətbiq versiyasına görə səhvlərin sayının qrafikini qurun. ELK (Elasticsearch, Logstash, Kibana) və ya Grafana ilə inteqrasiya. İlk buraxılışlar üçün strukturlaşdırılmış loglama məcburi deyil, lakin DAU 10.000-dən yuxarı qalxdıqda kritik olur.

Uzaqdan Loglama və Log Fırlanması

Uzaqdan loglama — mərkəzləşdirilmiş monitorinq üçün cihazdan serverə log göndərmək. Xüsusi Tree (Android) və ya HTTP sorğuları vasitəsilə həyata keçirilir. Yalnız Error və Warning göndərin — istifadəçinin trafikini israf etməyin. Log fırlanması: DDFileLogger (iOS) hər 1 MB və ya 1 gün. Android-də Logcat buferi məhduddur.

APM və mobil tətbiqlərin monitorinqi: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — mobil tətbiqlərin monitorinqi üçün alətlər sinfi. APM ölçür: başlanğıc vaxtı, şəbəkə sorğuları, FPS, yaddaş istifadəsi, çökmə tezliyi. Əsas oyunçular: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — təkcə çökmə hesabatı deyil, həm də performans monitorinqi. Sentry Performance paylanmış izlər yaradır ki, hər mərhələnin nə qədər vaxt apardığını göstərir: düyməni basmaqdan server cavabına qədər. iOS, Android, Flutter, React Native-i dəstəkləyir. Ayda 5k hadisəyə qədər pulsuz.

New Relic və Datadog

New Relic Mobile metrikalar verir: seansların sayı, tətbiqdə vaxt, çökmə tezliyi, şəbəkə sorğuları. Datadog Mobile — real-vaxt panelləri və xəbərdarlıqları ilə daha müasir alət. Hər ikisi ödənişlidir, lakin pulsuz səviyyələri var. IT Sectr Firebase Performance ilə başlamağı və DAU 100.000-dən yuxarı qalxdıqda ödənişli APM-ə keçməyi tövsiyə edir.

Firebase Performance

Firebase Performance — Google-dan pulsuz mobil tətbiq monitorinqi aləti. Avtomatik olaraq metrikalar toplayır: tətbiqin başlanğıc vaxtı, HTTP sorğuları (URL, metod, cavab kodu), FPS. Xüsusi izləmə üçün Trace API-dən istifadə edin. İnteqrasiya: build.gradle (Android) və ya Podfile (iOS)-a SDK əlavə edin.

Trace və metrikalar

Trace — başlanğıcı və sonu olan, ölçdüyünüz zaman seqmenti. Nümunə: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Metrikalar — ədədi göstəricilər (cavab ölçüsü, elementlərin sayı). Firebase Performance server infrastrukturu tələb etmir — bütün məlumatlar Firebase SDK vasitəsilə gedir. Mobil tətbiqləri monitorinq edərkən Trace API performans təhlili üçün kontekst verir.

Tez-tez verilən suallar

Hansı loglama səviyyələri mövcuddur və nə vaxt istifadə edilməlidir?

Standart səviyyələr: ERROR (kritik səhvlər), WARN (potensial problemlər), INFO (əsas hadisələr), DEBUG (sazlama), VERBOSE (ətraflı izləmə). İstehsalda ERROR, WARN və INFO saxlanılır, qalanları söndürülür.

Android-də Timber Logcat-dan nə ilə fərqlənir?

Timber Android-də mobil tətbiq loglaması üçün Jake Wharton tərəfindən Logcat üzərində sarğı kitabxanasıdır. Avtomatik olaraq sinif etiketini daxil edir, Tree-ni konfiqurasiya edir və bir sətir kodla istehsalda logları söndürür.

APM nədir və mobil tətbiqin ona niyə ehtiyacı var?

APM (Application Performance Monitoring) — performansı izləmək üçün alətlər sinfi: başlanğıc vaxtı, şəbəkə sorğuları, yaddaş istifadəsi, çökmə tezliyi. Mobil tətbiqləri monitorinq edərkən New Relic, Datadog və Firebase Performance istifadəçi şikayətlərindən əvvəl darboğazları tapmağa kömək edir.

Startap ödənişli APM həllərindən istifadə etməlidir?

Startap üçün Firebase Performance kifayətdir — pulsuz mobil tətbiq monitorinqi aləti. New Relic və Datadog ətraflı izləmə və xüsusi panellər lazım olduqda qoşulur. IT Sectr Firebase ilə başlamağı və DAU 100.000-dən yuxarı qalxdıqda ödənişli həllərə keçməyi tövsiyə edir.

Strukturlaşdırılmış loglama nədir və düz mətndən nə ilə yaxşıdır?

Strukturlaşdırılmış loglama düz mətn əvəzinə JSON və ya açar-dəyər formatında log formatıdır. Logları sahələr üzrə süzməyə, qrafiklər qurmağa və ELK və ya Grafana-da avtomatik təhlil etməyə imkan verir. Strukturlaşdırılmış loglar olmadan minlərlə qeyddə nümunələr tapmaq çətindir.

Xülasə

  • os_log — iOS-da əsas loglama və monitorinq aləti. CocoaLumberjack çeviklik, fırlanma və uzaqdan loglama əlavə edir.
  • Timber — Android-də mobil tətbiq loglaması standardı. Sazlama üçün DebugTree, buraxılış üçün CrashlyticsTree.
  • Strukturlaşdırılmış loglama (JSON) avtomatik log təhlili üçün lazımdır. ELK, Grafana, Datadog ilə inteqrasiya olunur.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — startaplar üçün pulsuz mobil tətbiq monitorinqi aləti.
  • Log fırlanması cihaz yaddaşının daşmasının qarşısını alır. DDFileLogger (iOS) konfiqurasiya edin və ya Logcat buferindən (Android) istifadə edin.
  • Uzaqdan loglama — yalnız Error və Warning logları göndərin. Bütün loglar istifadəçi trafikini israf edir.
  • Trace API və breadcrumbs (Sentry) mobil tətbiq monitorinqi üçün kontekst verir, logları hadisə hekayəsinə çevirir.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et