Registro em Swift (iOS/macOS): SwiftyBeaver, XCGLogger, OSLog

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Registro para Swift (iOS/macOS): melhores soluções



O registro é uma parte essencial do desenvolvimento de qualquer aplicativo. Para Swift (iOS/macOS), existem muitas ferramentas que permitem rastrear erros de forma eficiente, depurar código e analisar o comportamento do aplicativo. Neste artigo, veremos as melhores bibliotecas e soluções integradas para registro, suas características, vantagens e exemplos de uso.



Por que o registro é necessário em Swift?

O registro ajuda os desenvolvedores a:

  • Acompanhar a execução do código em tempo real.
  • Identificar e corrigir erros nos estágios iniciais.
  • Analisar o desempenho do aplicativo.
  • Coletar dados para auditoria posterior.


Solução integrada: OSLog (Unified Logging)

A partir do iOS 10 e macOS Sierra, a Apple apresentou o OSLog — um poderoso sistema de registro integrado aos sistemas operacionais. Ele oferece alto desempenho e segurança.



Exemplo de uso do OSLog

import os.log

let log = OSLog(subsystem: "com.example.app", category: "network")os_log("Requisição enviada: %@", log: log, type: .info, "https://api.example.com")

// Para errosos_log("Erro de conexão: %@", log: log, type: .error, error.localizedDescription)


Vantagens do OSLog:

  • Não requer instalação de bibliotecas de terceiros.
  • Funciona em nível de sistema, suporta filtragem no Console.app.
  • Criptografa automaticamente os dados em modo de produção.


SwiftyBeaver — logger multiplataforma

SwiftyBeaver é uma das bibliotecas de registro mais populares em Swift. Ela suporta iOS, macOS, tvOS e watchOS. Principais recursos: saída colorida no console, gravação em arquivos, envio para serviços em nuvem (por exemplo, Loggly, Elasticsearch).



Instalação via Swift Package Manager

// Em Package.swiftdependencies: [    .package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", from: "2.0.0")]


Exemplo de uso do SwiftyBeaver

import SwiftyBeaver

let log = SwiftyBeaver.self

// Configuração de destinoslet console = ConsoleDestination() // saída no consolelet file = FileDestination() // gravação em arquivo

// Formataçãoconsole.format = "$DHH:mm:ss$d $L $N.$F:$l - $M"

// Adicionando destinoslog.addDestination(console)log.addDestination(file)

// Registrolog.info("Aplicativo iniciado")log.error("Erro ao carregar dados: \\(error.localizedDescription)")


Características do SwiftyBeaver:

  • Suporte a codificação por cores dos níveis (verbose, debug, info, warning, error).
  • Possibilidade de enviar logs para o servidor via HTTP.
  • Configuração flexível do formato de saída.


XCGLogger — logger leve para iOS/macOS

XCGLogger é outra solução popular, focada em simplicidade e velocidade. Ideal para projetos pequenos e prototipagem rápida.



Exemplo de uso do XCGLogger

import XCGLogger

let log = XCGLogger.default

// Configuraçãolog.setup(level: .debug, showLogIdentifier: false, showFunctionName: true, showThreadName: true, showLevel: true, showFileNames: true, showLineNumbers: true, showDate: true)

// Registrolog.debug("Depuração: valor x = \\(x)")log.warning("Aviso: nível baixo de bateria")


Vantagens do XCGLogger:

  • Número mínimo de dependências.
  • Suporte a filtragem por níveis de registro.
  • Possibilidade de integração com Crashlytics e outros serviços.


Comparação de bibliotecas de registro

Recommendations

Biblioteca Desempenho