El registro y monitoreo son dos pilares de la estabilidad de las aplicaciones móviles. Según Gartner (2025), el mercado de soluciones APM alcanzará los $8 mil millones para 2027. Un registro adecuado permite no solo encontrar errores, sino también predecir problemas antes de que afecten a los usuarios.
Puntos clave
El registro de aplicaciones móviles en iOS se basa en os_log, el sistema integrado de Apple, disponible desde iOS 10. os_log escribe registros en un registro sistémico único (en el dispositivo o mediante Console.app), admite categorías, niveles y etiquetas de privacidad. La combinación de registro y monitoreo en iOS mediante Console.app y xcrun permite rastrear errores y rendimiento en tiempo real.
os_log tiene niveles: Default, Info, Debug, Error, Fault. En producción se mantienen Error y Fault — Debug e Info se desactivan. Elegir el nivel correcto es parte de la estrategia de monitoreo de aplicaciones móviles en iOS. Privacidad: %{public}@ para datos no protegidos, %{private}@ para datos personales.
CocoaLumberjack es una biblioteca popular para el registro en iOS. A diferencia de os_log, admite formatos personalizados, escritura asíncrona y rotación de registros. DDLog, DDTTYLogger (consola), DDFileLogger (archivo con rotación). Para monitoreo remoto, CocoaLumberjack se puede combinar con os_log — escribir en un archivo para registro remoto y en os_log para Console.app.
Para el registro de aplicaciones móviles en Android se usa Timber, una biblioteca de Jake Wharton que se ha convertido en el estándar de la plataforma. Timber es un envoltorio sobre Android Log (Logcat) que añade automáticamente la etiqueta de clase y configura Tree. Timber forma parte del sistema de monitoreo de aplicaciones móviles Android: DebugTree para depuración, CrashlyticsTree para envío de datos.
Timber usa Tree, un componente que decide qué hacer con el registro. En compilaciones de depuración, DebugTree (salida a Logcat), en release — CrashlyticsTree (envío de fallos). Timber.wtf() registra errores fatales. Timber.tag("CustomTag") sobrescribe la etiqueta. Para un monitoreo eficaz, Timber se combina con herramientas APM.
Android Log tiene niveles: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 elimina Log.d y Log.v en release — Timber permite registrar mediante Plant. La elección del nivel afecta la calidad del monitoreo de la aplicación móvil — en producción se mantienen WARN y ERROR.
| Herramienta | Plataforma | Formato | Rotación | Remoto | Complejidad |
|---|---|---|---|---|---|
| os_log | iOS | Estructurado | Sistémica | Console.app | Baja |
| CocoaLumberjack | iOS | Texto/JSON | DDFileLogger | Sí (personalizado) | Media |
| Timber | Android | Texto | Logcat/Personalizado | Tree | Baja |
| Sentry | iOS/Android | JSON | Servidor | Sí | Media |
| Logcat | Android | Texto | Búfer | ADB | Baja |
Al elegir una herramienta de registro, considere: si necesita registro remoto, con qué frecuencia cambian los registros y quién los analizará. Para startups, os_log o Timber son suficientes. Para empresas — CocoaLumberjack con envío al servidor. En IT Sectr, usamos la combinación Timber + Crashlytics para Android y os_log + CocoaLumberjack para iOS.
Structured logging — escritura de registros en formato JSON en lugar de texto plano. Ejemplo: en lugar de "User login failed" escribimos {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. Esta es la base para el monitoreo automático — el stack ELK y Grafana filtran, agregan y analizan estos datos.
Filtrado por campos: encuentre todos los registros con event=crash de la última hora. Agregación: construya un gráfico de cantidad de errores por versión de la aplicación. Integración con ELK (Elasticsearch, Logstash, Kibana) o Grafana. El structured logging no es obligatorio para los primeros lanzamientos, pero se vuelve crítico cuando el DAU supera los 10 000.
Registro remoto — envío de registros desde el dispositivo a un servidor para monitoreo centralizado. Se implementa mediante Tree personalizado (Android) o solicitudes HTTP. Envíe solo Error y Warning — no gaste el tráfico del usuario. Rotación de registros: DDFileLogger (iOS) cada 1 MB o 1 día. En Android, el búfer de Logcat es limitado.
Application Performance Monitoring (APM) — una clase de herramientas para el monitoreo de aplicaciones móviles. APM mide: tiempo de inicio, solicitudes de red, FPS, uso de memoria, frecuencia de fallos. Principales actores: Sentry (Performance), New Relic Mobile, Datadog Mobile.
Sentry — no solo informes de fallos, sino también monitoreo de rendimiento. Sentry Performance crea trazas distribuidas que muestran cuánto tiempo tomó cada etapa: desde la pulsación del botón hasta la respuesta del servidor. Compatible con iOS, Android, Flutter, React Native. Gratuito hasta 5k eventos al mes.
New Relic Mobile proporciona métricas: número de sesiones, tiempo en la aplicación, frecuencia de fallos, solicitudes de red. Datadog Mobile es una herramienta más moderna con paneles en tiempo real y alertas. Ambos son de pago, pero tienen niveles gratuitos. IT Sectr recomienda comenzar con Firebase Performance y pasar a APM de pago cuando el DAU supere los 100 000.
Firebase Performance — una herramienta gratuita de monitoreo de aplicaciones móviles de Google. Recopila automáticamente métricas: tiempo de inicio de la aplicación, solicitudes HTTP (URL, método, código de respuesta), FPS. Para trazado personalizado, use Trace API. Integración: agregue el SDK a build.gradle (Android) o Podfile (iOS).
Trace — un segmento de tiempo con inicio y fin que usted mide. Ejemplo: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Métricas — indicadores numéricos (tamaño de respuesta, cantidad de elementos). Firebase Performance no requiere infraestructura de servidor — todos los datos pasan por Firebase SDK. Al monitorear aplicaciones móviles, Trace API proporciona contexto para el análisis de rendimiento.
Preguntas frecuentes
Niveles estándar: ERROR (errores críticos), WARN (problemas potenciales), INFO (eventos clave), DEBUG (depuración), VERBOSE (trazado detallado). En producción se mantienen ERROR, WARN e INFO, los demás se desactivan.
Timber es una biblioteca envoltorio sobre Logcat de Jake Wharton para el registro de aplicaciones móviles en Android. Inserta automáticamente la etiqueta de clase, configura Tree y desactiva los registros en producción con una línea de código.
APM (Application Performance Monitoring) — una clase de herramientas para rastrear el rendimiento: tiempo de inicio, solicitudes de red, uso de memoria, frecuencia de fallos. Al monitorear aplicaciones móviles, New Relic, Datadog y Firebase Performance ayudan a encontrar cuellos de botella antes de las quejas de los usuarios.
Para una startup, Firebase Performance es suficiente — una herramienta gratuita de monitoreo de aplicaciones móviles. New Relic y Datadog se conectan cuando se necesita trazado detallado y paneles personalizados. IT Sectr recomienda comenzar con Firebase y pasar a soluciones de pago cuando el DAU supere los 100 000.
Structured logging es un formato de registros en JSON o clave-valor en lugar de texto plano. Permite filtrar registros por campos, construir gráficos y analizar automáticamente en ELK o Grafana. Sin registros estructurados, es difícil encontrar patrones en miles de registros.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.