Înregistrare și monitorizare în dezvoltarea mobilă: esență, instrumente și cum să configurați

Autor: IT Sectr Publicat: 2026-05-27 Timp de citire: 8 min

Înregistrarea și monitorizarea sunt doi piloni ai stabilității aplicațiilor mobile. Potrivit Gartner (2025), piața soluțiilor APM va ajunge la 8 miliarde de dolari până în 2027. Înregistrarea corectă permite nu doar găsirea erorilor, ci și prezicerea problemelor înainte ca acestea să afecteze utilizatorii.

Puncte cheie

  • Pe iOS, instrumentele principale sunt os_log (înregistrare de sistem integrată) și CocoaLumberjack (bibliotecă flexibilă cu rotație și formatare). Monitorizarea pe iOS permite controlul performanței în timp real.
  • Pe Android, standardul este Timber (un înveliș peste Logcat) și Log-ul de sistem. Timber inserează automat eticheta clasei și gestionează nivelurile de înregistrare.
  • Structured logging — scrierea logurilor în JSON. Permite analiza automată a logurilor prin ELK, Grafana sau Datadog. Recomandat pentru producție și monitorizare automată.
  • APM (Application Performance Monitoring) — o clasă de instrumente pentru monitorizarea aplicațiilor mobile: New Relic, Datadog, Firebase Performance.
  • Rotația logurilor și înregistrarea la distanță sunt obligatorii pentru producție. Logurile nu trebuie să umple memoria dispozitivului și trebuie să fie accesibile dezvoltatorului de la distanță.

Înregistrare și monitorizare pe iOS: os_log și CocoaLumberjack

Înregistrarea aplicațiilor mobile pe iOS se bazează pe os_log — sistemul integrat Apple, disponibil din iOS 10. os_log scrie logurile într-un singur jurnal de sistem (pe dispozitiv sau prin Console.app), suportă categorii, niveluri și etichete de confidențialitate. Combinația de înregistrare și monitorizare pe iOS prin Console.app și xcrun permite urmărirea erorilor și performanței în timp real.

Log Level pe iOS

os_log are niveluri: Default, Info, Debug, Error, Fault. În producție se păstrează Error și Fault — Debug și Info sunt dezactivate. Alegerea nivelului corect face parte din strategia de monitorizare a aplicațiilor mobile pe iOS. Confidențialitate: %{public}@ pentru date neprotejate, %{private}@ pentru date personale.

CocoaLumberjack

CocoaLumberjack este o bibliotecă populară pentru înregistrarea pe iOS. Spre deosebire de os_log, suportă formate personalizate, scriere asincronă și rotație a logurilor. DDLog, DDTTYLogger (consolă), DDFileLogger (fișier cu rotație). Pentru monitorizare la distanță, CocoaLumberjack poate fi combinat cu os_log — scrieți într-un fișier pentru înregistrare la distanță și în os_log pentru Console.app.

Înregistrare și monitorizare pe Android: Timber și Log Level

Pentru înregistrarea aplicațiilor mobile pe Android se folosește Timber — o bibliotecă de Jake Wharton care a devenit standardul platformei. Timber este un înveliș peste Android Log (Logcat) care adaugă automat eticheta clasei și configurează Tree. Timber face parte din sistemul de monitorizare a aplicațiilor mobile Android: DebugTree pentru depanare, CrashlyticsTree pentru trimiterea datelor.

Timber în detaliu

Timber folosește Tree — o componentă care decide ce să facă cu logul. În build-urile de depanare, DebugTree (ieșire către Logcat), în release — CrashlyticsTree (trimiterea crash-urilor). Timber.wtf() înregistrează erori fatale. Timber.tag("CustomTag") suprascrie eticheta. Pentru monitorizare eficientă, Timber este combinat cu instrumente APM.

Log Level pe Android

Android Log are niveluri: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 elimină Log.d și Log.v în release — Timber permite înregistrarea prin Plant. Alegerea nivelului afectează calitatea monitorizării aplicației mobile — în producție se păstrează WARN și ERROR.

Instrument Platformă Format Rotație Distant Complexitate
os_logiOSStructuratSistemConsole.appScăzută
CocoaLumberjackiOSText/JSONDDFileLoggerDa (personalizat)Medie
TimberAndroidTextLogcat/PersonalizatTreeScăzută
SentryiOS/AndroidJSONServerDaMedie
LogcatAndroidTextBufferADBScăzută

Când alegeți un instrument de înregistrare, luați în considerare: aveți nevoie de înregistrare la distanță, cât de des se schimbă logurile și cine le va analiza. Pentru startup-uri, os_log sau Timber sunt suficiente. Pentru întreprinderi — CocoaLumberjack cu trimitere la server. La IT Sectr, folosim combinația Timber + Crashlytics pentru Android și os_log + CocoaLumberjack pentru iOS.

Structured Logging

Structured logging — scrierea logurilor în format JSON în loc de text simplu. Exemplu: în loc de "User login failed" scriem {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. Aceasta este baza pentru monitorizarea automată — stiva ELK și Grafana filtrează, agregă și analizează astfel de date.

Avantajele structured logging

Filtrare după câmpuri: găsiți toate logurile cu event=crash din ultima oră. Agregare: construiți un grafic al numărului de erori pe versiunea aplicației. Integrare cu ELK (Elasticsearch, Logstash, Kibana) sau Grafana. Structured logging nu este obligatoriu pentru primele lansări, dar devine critic când DAU depășește 10.000.

Înregistrare la distanță și rotație a logurilor

Înregistrarea la distanță — trimiterea logurilor de pe dispozitiv pe un server pentru monitorizare centralizată. Implementată prin Tree personalizat (Android) sau cereri HTTP. Trimiteți doar Error și Warning — nu risipiți traficul utilizatorului. Rotația logurilor: DDFileLogger (iOS) la fiecare 1 MB sau 1 zi. Pe Android, bufferul Logcat este limitat.

APM și monitorizarea aplicațiilor mobile: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — o clasă de instrumente pentru monitorizarea aplicațiilor mobile. APM măsoară: timpul de pornire, cererile de rețea, FPS, utilizarea memoriei, frecvența crash-urilor. Principalii jucători: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — nu doar raportare de crash-uri, ci și monitorizare a performanței. Sentry Performance creează trace-uri distribuite care arată cât timp a durat fiecare etapă: de la apăsarea butonului până la răspunsul serverului. Suportă iOS, Android, Flutter, React Native. Gratuit până la 5k de evenimente pe lună.

New Relic și Datadog

New Relic Mobile oferă metrici: numărul de sesiuni, timpul în aplicație, frecvența crash-urilor, cererile de rețea. Datadog Mobile este un instrument mai modern cu tablouri de bord în timp real și alerte. Ambele sunt cu plată, dar au niveluri gratuite. IT Sectr recomandă să începeți cu Firebase Performance și să treceți la APM cu plată când DAU depășește 100.000.

Firebase Performance

Firebase Performance — un instrument gratuit de monitorizare a aplicațiilor mobile de la Google. Colectează automat metrici: timpul de pornire a aplicației, cererile HTTP (URL, metodă, cod de răspuns), FPS. Pentru urmărire personalizată, utilizați Trace API. Integrare: adăugați SDK-ul în build.gradle (Android) sau Podfile (iOS).

Trace și metrici

Trace — un segment de timp cu început și sfârșit pe care îl măsurați. Exemplu: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Metrici — indicatori numerici (dimensiunea răspunsului, numărul de elemente). Firebase Performance nu necesită infrastructură de server — toate datele trec prin Firebase SDK. Când monitorizați aplicații mobile, Trace API oferă context pentru analiza performanței.

Întrebări frecvente

Ce niveluri de înregistrare există și când să le folosiți?

Niveluri standard: ERROR (erori critice), WARN (probleme potențiale), INFO (evenimente cheie), DEBUG (depanare), VERBOSE (urmărire detaliată). În producție se păstrează ERROR, WARN și INFO, restul sunt dezactivate.

Cu ce se deosebește Timber de Logcat pe Android?

Timber este o bibliotecă-înveliș peste Logcat de Jake Wharton pentru înregistrarea aplicațiilor mobile pe Android. Inserează automat eticheta clasei, configurează Tree și dezactivează logurile în producție cu o singură linie de cod.

Ce este APM și de ce are nevoie o aplicație mobilă de el?

APM (Application Performance Monitoring) — o clasă de instrumente pentru urmărirea performanței: timpul de pornire, cererile de rețea, utilizarea memoriei, frecvența crash-urilor. Când monitorizați aplicații mobile, New Relic, Datadog și Firebase Performance ajută la găsirea blocajelor înainte de plângerile utilizatorilor.

Ar trebui un startup să folosească soluții APM cu plată?

Pentru un startup, Firebase Performance este suficient — un instrument gratuit de monitorizare a aplicațiilor mobile. New Relic și Datadog se conectează când este nevoie de urmărire detaliată și tablouri de bord personalizate. IT Sectr recomandă să începeți cu Firebase și să treceți la soluții cu plată când DAU depășește 100.000.

Ce este structured logging și cum este mai bun decât textul simplu?

Structured logging este un format de loguri în JSON sau cheie-valoare în loc de text simplu. Permite filtrarea logurilor după câmpuri, construirea de grafice și analiza automată în ELK sau Grafana. Fără loguri structurate, este dificil să găsiți modele în mii de înregistrări.

Rezumat

  • os_log — instrumentul de bază pentru înregistrare și monitorizare pe iOS. CocoaLumberjack adaugă flexibilitate, rotație și înregistrare la distanță.
  • Timber — standardul de înregistrare a aplicațiilor mobile pe Android. DebugTree pentru depanare, CrashlyticsTree pentru release.
  • Structured logging (JSON) este necesar pentru analiza automată a logurilor. Se integrează cu ELK, Grafana, Datadog.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — instrument gratuit de monitorizare a aplicațiilor mobile pentru startup-uri.
  • Rotația logurilor previne depășirea memoriei dispozitivului. Configurați DDFileLogger (iOS) sau utilizați bufferul Logcat (Android).
  • Înregistrarea la distanță — trimiteți doar loguri Error și Warning. Toate logurile consumă traficul utilizatorului.
  • Trace API și breadcrumbs (Sentry) oferă context pentru monitorizarea aplicațiilor mobile, transformând logurile într-o poveste de incident.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul