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 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.
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 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ə 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 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 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_log | iOS | Strukturlaşdırılmış | Sistem | Console.app | Aşağı |
| CocoaLumberjack | iOS | Mətn/JSON | DDFileLogger | Bəli (xüsusi) | Orta |
| Timber | Android | Mətn | Logcat/Xüsusi | Tree | Aşağı |
| Sentry | iOS/Android | JSON | Server | Bəli | Orta |
| Logcat | Android | Mətn | Buffer | ADB | Aş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 — 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.
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 — 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.
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 — 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 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 — 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 — 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
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.
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 (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 üçü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 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ə
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.