¿Qué es SwiftyBeaver y para qué sirve?
SwiftyBeaver es una biblioteca potente y flexible para el registro de logs en aplicaciones Swift (iOS, macOS, tvOS, watchOS). A diferencia del print() estándar, que no está estructurado y es incómodo de analizar, SwiftyBeaver proporciona salida de color en la consola, escritura en archivos, sincronización en la nube e integración con servicios de análisis populares. El objetivo principal es hacer que la depuración y el monitoreo de aplicaciones sean lo más transparentes y eficientes posible.
Cómo instalar
La instalación a través de Swift Package Manager (SPM) es la forma más sencilla:
- En Xcode, seleccione File → Add Packages.
- Ingrese la URL:
https://github.com/SwiftyBeaver/SwiftyBeaver.git. - Seleccione la versión (se recomienda la última estable).
- Agregue el paquete a su target.
También está disponible la instalación a través de CocoaPods o Carthage.
Funciones principales
- Salida de consola en color — diferentes niveles de registro (debug, info, warning, error) se resaltan con color para un filtrado visual rápido.
- Escritura en archivos — guardado automático de logs en el dispositivo con rotación por tamaño/fecha.
- Registro en la nube — envío de logs al servidor de SwiftyBeaver Cloud para monitoreo remoto.
- Formateo — configuración de fecha, hora, nombre de archivo, línea de código.
- Filtrado — activación/desactivación de logs por nivel mínimo o por nombre de módulo.
Ejemplo de código en Swift
import SwiftyBeaver
let log = SwiftyBeaver.self
// Configuraciónlet console = ConsoleDestination() // salida en consolalet file = FileDestination() // escritura en archivo
// Configuración del formatoconsole.format = "$DHH:mm:ss$d $L: $M"file.format = "$DHH:mm:ss$d $L: $M"
// Agregamos destinoslog.addDestination(console)log.addDestination(file)
// Usolog.debug("Aplicación iniciada") // mensaje de depuraciónlog.info("Usuario autenticado") // informativolog.warning("Batería baja") // advertencialog.error("Error de red") // errorCuándo usarlo
SwiftyBeaver es ideal para proyectos de cualquier tamaño, desde aplicaciones pequeñas hasta soluciones empresariales. Es especialmente útil cuando:
- Se depuran procesos de negocio complejos.
- Se monitorean versiones en producción a través de la plataforma en la nube.
- Se trabaja en equipo y se necesita un almacenamiento centralizado de logs.
- Se crean informes personalizados de errores.
La biblioteca cuenta con soporte activo, tiene código abierto y una gran comunidad. Si necesita más de 10,000 líneas de logs al día, considere el plan de pago de SwiftyBeaver Cloud.
También en la biblioteca
Trabajo con imágenes en Go (Golang): image, draw, imaging, resize
Planificador de tareas en Node.js: node-schedule y node-cron
Trabajo con XML en PHP: DOMDocument, SimpleXML y XPath
Generación de Swagger/OpenAPI para C++: revisión de herramientas y bibliotecas
Programación reactiva en Go (Golang): bibliotecas, patrones y ejemplos