Registrazione e monitoraggio nello sviluppo mobile: essenza, strumenti e come configurare

Autore: IT Sectr Pubblicato: 2026-05-27 Tempo di lettura: 8 min

La registrazione e il monitoraggio sono due pilastri della stabilità delle applicazioni mobili. Secondo Gartner (2025), il mercato delle soluzioni APM raggiungerà 8 miliardi di dollari entro il 2027. Una corretta registrazione consente non solo di trovare bug, ma anche di prevedere i problemi prima che influiscano sugli utenti.

Punti chiave

  • Su iOS, gli strumenti principali sono os_log (registrazione di sistema integrata) e CocoaLumberjack (libreria flessibile con rotazione e formattazione). Il monitoraggio su iOS consente di controllare le prestazioni in tempo reale.
  • Su Android, lo standard è Timber (un wrapper su Logcat) e il Log di sistema. Timber inserisce automaticamente il tag della classe e gestisce i livelli di registrazione.
  • Structured logging — scrittura dei log in JSON. Consente di analizzare i log automaticamente tramite ELK, Grafana o Datadog. Raccomandato per produzione e monitoraggio automatico.
  • APM (Application Performance Monitoring) — una classe di strumenti per il monitoraggio di applicazioni mobili: New Relic, Datadog, Firebase Performance.
  • La rotazione dei log e la registrazione remota sono obbligatorie per la produzione. I log non devono riempire la memoria del dispositivo e devono essere accessibili allo sviluppatore da remoto.

Registrazione e monitoraggio su iOS: os_log e CocoaLumberjack

La registrazione di applicazioni mobili su iOS si basa su os_log — il sistema integrato di Apple, disponibile da iOS 10. os_log scrive i log in un unico log di sistema (sul dispositivo o tramite Console.app), supporta categorie, livelli e tag privacy. La combinazione di registrazione e monitoraggio su iOS tramite Console.app e xcrun consente di tracciare errori e prestazioni in tempo reale.

Log Level su iOS

os_log ha livelli: Default, Info, Debug, Error, Fault. In produzione si mantengono Error e Fault — Debug e Info vengono disattivati. Scegliere il livello corretto fa parte della strategia di monitoraggio di applicazioni mobili su iOS. Privacy: %{public}@ per dati non protetti, %{private}@ per dati personali.

CocoaLumberjack

CocoaLumberjack è una libreria popolare per la registrazione iOS. A differenza di os_log, supporta formati personalizzati, scrittura asincrona e rotazione dei log. DDLog, DDTTYLogger (console), DDFileLogger (file con rotazione). Per il monitoraggio remoto, CocoaLumberjack può essere combinato con os_log — scrivere in un file per la registrazione remota e in os_log per Console.app.

Registrazione e monitoraggio su Android: Timber e Log Level

Per la registrazione di applicazioni mobili su Android si usa Timber — una libreria di Jake Wharton diventata lo standard della piattaforma. Timber è un wrapper su Android Log (Logcat) che aggiunge automaticamente il tag della classe e configura Tree. Timber fa parte del sistema di monitoraggio delle applicazioni mobili Android: DebugTree per il debug, CrashlyticsTree per l'invio dei dati.

Timber in dettaglio

Timber utilizza Tree — un componente che decide cosa fare del log. Nelle build di debug, DebugTree (output su Logcat), in release — CrashlyticsTree (invio di crash). Timber.wtf() registra errori fatali. Timber.tag("CustomTag") sovrascrive il tag. Per un monitoraggio efficace, Timber viene combinato con strumenti APM.

Log Level su Android

Android Log ha livelli: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 rimuove Log.d e Log.v in release — Timber consente la registrazione tramite Plant. La scelta del livello influisce sulla qualità del monitoraggio dell'applicazione mobile — in produzione si mantengono WARN e ERROR.

Strumento Piattaforma Formato Rotazione Remoto Complessità
os_logiOSStrutturatoSistemaConsole.appBassa
CocoaLumberjackiOSTesto/JSONDDFileLoggerSì (personalizzato)Media
TimberAndroidTestoLogcat/PersonalizzatoTreeBassa
SentryiOS/AndroidJSONServerMedia
LogcatAndroidTestoBufferADBBassa

Quando si sceglie uno strumento di registrazione, considerare: se serve la registrazione remota, quanto spesso cambiano i log e chi li analizzerà. Per le startup, os_log o Timber sono sufficienti. Per le aziende — CocoaLumberjack con invio al server. In IT Sectr, usiamo la combinazione Timber + Crashlytics per Android e os_log + CocoaLumberjack per iOS.

Structured Logging

Structured logging — scrittura dei log in formato JSON invece di testo semplice. Esempio: invece di "User login failed" scriviamo {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. Questa è la base per il monitoraggio automatico — lo stack ELK e Grafana filtrano, aggregano e analizzano tali dati.

Vantaggi dello structured logging

Filtraggio per campi: trova tutti i log con event=crash nell'ultima ora. Aggregazione: costruisci un grafico del numero di errori per versione dell'app. Integrazione con ELK (Elasticsearch, Logstash, Kibana) o Grafana. Lo structured logging non è obbligatorio per i primi rilasci, ma diventa critico quando il DAU supera 10.000.

Registrazione remota e rotazione dei log

Registrazione remota — invio dei log dal dispositivo a un server per il monitoraggio centralizzato. Implementata tramite Tree personalizzato (Android) o richieste HTTP. Invia solo Error e Warning — non sprecare il traffico dell'utente. Rotazione dei log: DDFileLogger (iOS) ogni 1 MB o 1 giorno. Su Android, il buffer di Logcat è limitato.

APM e monitoraggio di applicazioni mobili: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — una classe di strumenti per il monitoraggio di applicazioni mobili. L'APM misura: tempo di avvio, richieste di rete, FPS, utilizzo della memoria, frequenza dei crash. Principali attori: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — non solo segnalazione di crash, ma anche monitoraggio delle prestazioni. Sentry Performance crea trace distribuiti che mostrano quanto tempo ha impiegato ogni fase: dalla pressione del pulsante alla risposta del server. Supporta iOS, Android, Flutter, React Native. Gratuito fino a 5k eventi al mese.

New Relic e Datadog

New Relic Mobile fornisce metriche: numero di sessioni, tempo nell'app, frequenza dei crash, richieste di rete. Datadog Mobile è uno strumento più moderno con dashboard in tempo reale e avvisi. Entrambi sono a pagamento, ma hanno livelli gratuiti. IT Sectr consiglia di iniziare con Firebase Performance e passare ad APM a pagamento quando il DAU supera 100.000.

Firebase Performance

Firebase Performance — uno strumento gratuito di monitoraggio di applicazioni mobili di Google. Raccoglie automaticamente metriche: tempo di avvio dell'app, richieste HTTP (URL, metodo, codice di risposta), FPS. Per tracciamento personalizzato, usa l'API Trace. Integrazione: aggiungi l'SDK a build.gradle (Android) o Podfile (iOS).

Trace e metriche

Trace — un segmento di tempo con inizio e fine che misuri. Esempio: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Metriche — indicatori numerici (dimensione della risposta, numero di elementi). Firebase Performance non richiede infrastruttura server — tutti i dati passano attraverso l'SDK Firebase. Quando si monitorano applicazioni mobili, l'API Trace fornisce contesto per l'analisi delle prestazioni.

Domande frequenti

Quali livelli di registrazione esistono e quando usarli?

Livelli standard: ERROR (errori critici), WARN (problemi potenziali), INFO (eventi chiave), DEBUG (debug), VERBOSE (tracciamento dettagliato). In produzione si mantengono ERROR, WARN e INFO, gli altri vengono disattivati.

In che cosa Timber differisce da Logcat su Android?

Timber è una libreria wrapper su Logcat di Jake Wharton per la registrazione di applicazioni mobili su Android. Inserisce automaticamente il tag della classe, configura Tree e disabilita i log in produzione con una riga di codice.

Cos'è l'APM e perché un'applicazione mobile ne ha bisogno?

APM (Application Performance Monitoring) — una classe di strumenti per tracciare le prestazioni: tempo di avvio, richieste di rete, utilizzo della memoria, frequenza dei crash. Quando si monitorano applicazioni mobili, New Relic, Datadog e Firebase Performance aiutano a trovare i colli di bottiglia prima delle lamentele degli utenti.

Una startup dovrebbe usare soluzioni APM a pagamento?

Per una startup, Firebase Performance è sufficiente — uno strumento gratuito di monitoraggio di applicazioni mobili. New Relic e Datadog vengono collegati quando servono tracciamento dettagliato e dashboard personalizzate. IT Sectr consiglia di iniziare con Firebase e passare a soluzioni a pagamento quando il DAU supera 100.000.

Cos'è lo structured logging e in cosa è meglio del testo semplice?

Lo structured logging è un formato di log in JSON o chiave-valore invece del testo semplice. Consente di filtrare i log per campi, costruire grafici e analizzare automaticamente in ELK o Grafana. Senza log strutturati, è difficile trovare pattern in migliaia di record.

Riepilogo

  • os_log — lo strumento di base per la registrazione e il monitoraggio su iOS. CocoaLumberjack aggiunge flessibilità, rotazione e registrazione remota.
  • Timber — lo standard di registrazione delle applicazioni mobili su Android. DebugTree per il debug, CrashlyticsTree per la release.
  • Lo structured logging (JSON) è necessario per l'analisi automatica dei log. Si integra con ELK, Grafana, Datadog.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — strumento gratuito di monitoraggio di applicazioni mobili per startup.
  • La rotazione dei log previene l'overflow della memoria del dispositivo. Configura DDFileLogger (iOS) o usa il buffer di Logcat (Android).
  • Registrazione remota — invia solo log Error e Warning. Tutti i log consumano il traffico dell'utente.
  • API Trace e breadcrumbs (Sentry) forniscono contesto per il monitoraggio di applicazioni mobili, trasformando i log in una storia di incidente.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto