Registro e monitoramento no desenvolvimento móvel: essência, ferramentas e como configurar

Autor: IT Sectr Publicado: 2026-05-27 Tempo de leitura: 8 min

O registro e monitoramento são dois pilares da estabilidade de aplicativos móveis. De acordo com a Gartner (2025), o mercado de soluções APM atingirá US$ 8 bilhões até 2027. O registro adequado permite não apenas encontrar bugs, mas também prever problemas antes que eles afetem os usuários.

Principais pontos

  • No iOS, as principais ferramentas são os_log (registro sistêmico integrado) e CocoaLumberjack (biblioteca flexível com rotação e formatação). O monitoramento no iOS permite controlar o desempenho em tempo real.
  • No Android, o padrão é Timber (um invólucro sobre o Logcat) e o Log sistêmico. O Timber insere automaticamente a tag de classe e gerencia os níveis de registro.
  • Structured logging — escrita de logs em JSON. Permite analisar logs automaticamente através de ELK, Grafana ou Datadog. Recomendado para produção e monitoramento automático.
  • APM (Application Performance Monitoring) — uma classe de ferramentas para monitoramento de aplicativos móveis: New Relic, Datadog, Firebase Performance.
  • A rotação de logs e o registro remoto são obrigatórios para produção. Os logs não devem encher a memória do dispositivo e devem estar acessíveis ao desenvolvedor remotamente.

Registro e monitoramento no iOS: os_log e CocoaLumberjack

O registro de aplicativos móveis no iOS é baseado no os_log — o sistema integrado da Apple, disponível desde o iOS 10. O os_log escreve logs em um único log sistêmico (no dispositivo ou através do Console.app), suporta categorias, níveis e tags de privacidade. A combinação de registro e monitoramento no iOS através do Console.app e xcrun permite rastrear erros e desempenho em tempo real.

Log Level no iOS

O os_log tem níveis: Default, Info, Debug, Error, Fault. Em produção, mantêm-se Error e Fault — Debug e Info são desativados. Escolher o nível correto faz parte da estratégia de monitoramento de aplicativos móveis no iOS. Privacidade: %{public}@ para dados não protegidos, %{private}@ para dados pessoais.

CocoaLumberjack

CocoaLumberjack é uma biblioteca popular para registro no iOS. Diferente do os_log, ela suporta formatos personalizados, escrita assíncrona e rotação de logs. DDLog, DDTTYLogger (console), DDFileLogger (arquivo com rotação). Para monitoramento remoto, o CocoaLumberjack pode ser combinado com o os_log — escrever em um arquivo para registro remoto e no os_log para o Console.app.

Registro e monitoramento no Android: Timber e Log Level

Para o registro de aplicativos móveis no Android, usa-se o Timber — uma biblioteca de Jake Wharton que se tornou o padrão da plataforma. O Timber é um invólucro sobre o Android Log (Logcat) que adiciona automaticamente a tag de classe e configura o Tree. O Timber faz parte do sistema de monitoramento de aplicativos móveis Android: DebugTree para depuração, CrashlyticsTree para envio de dados.

Timber em detalhes

O Timber usa Tree — um componente que decide o que fazer com o log. Em builds de depuração, DebugTree (saída para Logcat), em release — CrashlyticsTree (envio de falhas). Timber.wtf() registra erros fatais. Timber.tag("CustomTag") sobrescreve a tag. Para monitoramento eficaz, o Timber é combinado com ferramentas APM.

Log Level no Android

Android Log tem níveis: VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT. ProGuard/R8 remove Log.d e Log.v em release — o Timber permite registrar através do Plant. A escolha do nível afeta a qualidade do monitoramento do aplicativo móvel — em produção, mantêm-se WARN e ERROR.

Ferramenta Plataforma Formato Rotação Remoto Complexidade
os_logiOSEstruturadoSistêmicaConsole.appBaixa
CocoaLumberjackiOSTexto/JSONDDFileLoggerSim (personalizado)Média
TimberAndroidTextoLogcat/PersonalizadoTreeBaixa
SentryiOS/AndroidJSONServidorSimMédia
LogcatAndroidTextoBufferADBBaixa

Ao escolher uma ferramenta de registro, considere: precisa de registro remoto, com que frequência os logs mudam e quem os analisará. Para startups, os_log ou Timber são suficientes. Para empresas — CocoaLumberjack com envio ao servidor. Na IT Sectr, usamos a combinação Timber + Crashlytics para Android e os_log + CocoaLumberjack para iOS.

Structured Logging

Structured logging — escrita de logs em formato JSON em vez de texto simples. Exemplo: em vez de "User login failed" escrevemos {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. Esta é a base para o monitoramento automático — a stack ELK e o Grafana filtram, agregam e analisam esses dados.

Benefícios do structured logging

Filtragem por campos: encontre todos os logs com event=crash na última hora. Agregação: construa um gráfico de quantidade de erros por versão do aplicativo. Integração com ELK (Elasticsearch, Logstash, Kibana) ou Grafana. O structured logging não é obrigatório para os primeiros lançamentos, mas se torna crítico quando o DAU ultrapassa 10.000.

Registro remoto e rotação de logs

Registro remoto — envio de logs do dispositivo para um servidor para monitoramento centralizado. Implementado através de Tree personalizado (Android) ou requisições HTTP. Envie apenas Error e Warning — não desperdice o tráfego do usuário. Rotação de logs: DDFileLogger (iOS) a cada 1 MB ou 1 dia. No Android, o buffer do Logcat é limitado.

APM e monitoramento de aplicativos móveis: Sentry, New Relic, Datadog

Application Performance Monitoring (APM) — uma classe de ferramentas para monitoramento de aplicativos móveis. O APM mede: tempo de inicialização, requisições de rede, FPS, uso de memória, frequência de falhas. Principais players: Sentry (Performance), New Relic Mobile, Datadog Mobile.

Sentry Performance

Sentry — não apenas relatórios de falhas, mas também monitoramento de desempenho. O Sentry Performance cria traces distribuídos que mostram quanto tempo cada etapa levou: desde o pressionar do botão até a resposta do servidor. Suporta iOS, Android, Flutter, React Native. Gratuito até 5k eventos por mês.

New Relic e Datadog

New Relic Mobile fornece métricas: número de sessões, tempo no aplicativo, frequência de falhas, requisições de rede. Datadog Mobile é uma ferramenta mais moderna com painéis em tempo real e alertas. Ambos são pagos, mas têm níveis gratuitos. A IT Sectr recomenda começar com Firebase Performance e migrar para APM pago quando o DAU ultrapassar 100.000.

Firebase Performance

Firebase Performance — uma ferramenta gratuita de monitoramento de aplicativos móveis do Google. Coleta automaticamente métricas: tempo de inicialização do aplicativo, requisições HTTP (URL, método, código de resposta), FPS. Para tracing personalizado, use a Trace API. Integração: adicione o SDK ao build.gradle (Android) ou Podfile (iOS).

Trace e métricas

Trace — um segmento de tempo com início e fim que você mede. Exemplo: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). Métricas — indicadores numéricos (tamanho da resposta, quantidade de itens). O Firebase Performance não requer infraestrutura de servidor — todos os dados passam pelo Firebase SDK. Ao monitorar aplicativos móveis, a Trace API fornece contexto para a análise de desempenho.

Perguntas frequentes

Quais níveis de registro existem e quando usá-los?

Níveis padrão: ERROR (erros críticos), WARN (problemas potenciais), INFO (eventos-chave), DEBUG (depuração), VERBOSE (trace detalhado). Em produção, mantêm-se ERROR, WARN e INFO, os demais são desativados.

Como o Timber difere do Logcat no Android?

Timber é uma biblioteca invólucro sobre o Logcat de Jake Wharton para registro de aplicativos móveis no Android. Ela insere automaticamente a tag de classe, configura o Tree e desativa os logs em produção com uma linha de código.

O que é APM e por que um aplicativo móvel precisa dele?

APM (Application Performance Monitoring) — uma classe de ferramentas para rastrear desempenho: tempo de inicialização, requisições de rede, uso de memória, frequência de falhas. Ao monitorar aplicativos móveis, New Relic, Datadog e Firebase Performance ajudam a encontrar gargalos antes das reclamações dos usuários.

Uma startup deve usar soluções APM pagas?

Para uma startup, o Firebase Performance é suficiente — uma ferramenta gratuita de monitoramento de aplicativos móveis. New Relic e Datadog são conectados quando há necessidade de tracing detalhado e painéis personalizados. A IT Sectr recomenda começar com Firebase e migrar para soluções pagas quando o DAU ultrapassar 100.000.

O que é structured logging e como ele é melhor que texto simples?

Structured logging é um formato de logs em JSON ou chave-valor em vez de texto simples. Ele permite filtrar logs por campos, construir gráficos e analisar automaticamente no ELK ou Grafana. Sem logs estruturados, é difícil encontrar padrões em milhares de registros.

Resumo

  • os_log — a ferramenta básica de registro e monitoramento no iOS. CocoaLumberjack adiciona flexibilidade, rotação e registro remoto.
  • Timber — o padrão de registro de aplicativos móveis no Android. DebugTree para depuração, CrashlyticsTree para release.
  • O structured logging (JSON) é necessário para análise automática de logs. Integra-se com ELK, Grafana, Datadog.
  • APM — Sentry Performance, New Relic, Datadog. Firebase Performance — ferramenta gratuita de monitoramento de aplicativos móveis para startups.
  • A rotação de logs evita o transbordamento da memória do dispositivo. Configure DDFileLogger (iOS) ou use o buffer do Logcat (Android).
  • Registro remoto — envie apenas logs Error e Warning. Todos os logs consomem tráfego do usuário.
  • Trace API e breadcrumbs (Sentry) fornecem contexto para o monitoramento de aplicativos móveis, transformando logs em uma história de incidente.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto