barK: Registro ligero para Android

barK es una librería ligera de registro para Android y Kotlin Multiplatform que simplifica el logging, ofrece control y entrenadores personalizables para pruebas.

8 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Hoy quiero presentar barK, una librería de registro ligera para Android y Kotlin Multiplatform que he estado preparando recientemente. Su objetivo es ofrecer un logging sencillo, flexible y controlable, tanto para apps como para SDKs, con la posibilidad de desactivar por completo la salida en builds de producción, redirigir a consola durante pruebas unitarias y permitir que los clientes integradores la adapten o silencien a voluntad.

La motivación surgió al trabajar en un SDK y comprobar que android.util.Log y varias librerías populares no cubrían a la vez necesidades esenciales como apagar logs en release, usar android.util.Log en ejecuciones normales pero print en tests, y ceder control total a los integradores.

Con barK se consigue todo lo anterior: es ligera, escrita en Kotlin, válida para Android y KMP, permite silenciarse en tiempo de ejecución y emplea print durante tests para maximizar la depuración.

Características principales: etiquetado, entrenamiento y registro. En etiquetado, barK detecta automáticamente la clase que invoca y la usa como tag por defecto, por ejemplo MainActivity, LoggingRepository y similares. Si se prefiere, se puede fijar un tag global con Bark.tag y revertirlo con Bark.untag para volver a la autodetección por clase.

El entrenamiento define cómo se gestionan las entradas de log. La API es directa: Bark.train para registrar un entrenador, Bark.untrain para retirarlo y Bark.releaseAllTrainers para limpiar por completo. Un entrenador decide qué hacer con cada mensaje en función del nivel y del destino de salida.

Entrenadores incluidos de serie: AndroidLogTrainer para escribir con android.util.Log en la app, AndroidTestTrainer para forzar android.util.Log también en pruebas, UnitTestTrainer para imprimir con print a consola, y ColoredUnitTestTrainer para imprimir con colores por nivel. Cada entrenador define un volumen de nivel mínimo y un pack o destino.

El pack permite diferenciar salidas: CONSOLE usa print hacia la consola del entorno, SYSTEM delega en el sistema de logging de la plataforma como android.util.Log, FILE implica escritura a fichero y CUSTOM abre la puerta a otros destinos. BarK evita duplicar entrenadores de un mismo pack para no repetir salidas, salvo en CUSTOM donde se admiten múltiples instancias para máxima flexibilidad.

Crear entrenadores personalizados es simple implementando la interfaz de trainer. Se pueden construir, por ejemplo, un entrenador que capture advertencias y errores para trazabilidad de incidencias, o un SlackTrainer que envíe ciertos niveles a un webhook corporativo. Cada entrenador puede ajustar su volumen y decidir cómo manejar los mensajes entrantes.

El registro en sí es directo, inspirado en android.util.Log y en patrones conocidos. Se ofrecen funciones para niveles verboso, depuración, información, advertencia y error, con soporte opcional para un objeto throwable. La idea es que llames a Bark con v, d, i, w o e y el sistema rote hacia los entrenadores activos con el tag adecuado.

Silenciar en caliente también es posible mediante Bark.muzzle y revertirlo con Bark.umuzzle. Esto ayuda cuando se transitan flujos con datos sensibles o en escenarios donde temporalmente no se quiere dejar rastro de diagnóstico.

Integración en Android. Primero añade el repositorio de JitPack en la configuración de dependencias de Gradle y luego incluye la dependencia de la librería con la versión deseada. Una vez instalada, entrena barK en tu clase Application. Un patrón común es usar Level.DEBUG para builds de depuración y Level.WARNING en release, de forma que la app registre todo lo necesario en desarrollo y se limite a advertencias y errores en producción. Tras el entrenamiento inicial puedes llamar a Bark.d para confirmar que todo está listo.

Registro en pruebas unitarias de Android. En tests, libera primero los entrenadores con Bark.releaseAllTrainers para empezar limpio y entrena con UnitTestTrainer configurado a Level.DEBUG. Así, los mensajes se imprimirán a consola y verás tanto los logs de la app como los específicos de cada caso de prueba, logrando la máxima visibilidad durante la ejecución.

barK facilita la vida tanto a aplicaciones como a SDKs gracias a su diseño ligero y a su control de salidas. Está orientada a productividad, a un mejor diagnóstico en CI CD y a mantener el ruido acotado en producción. El soporte para iOS llegará más adelante, pero ya permite unificar criterios de logging en Android y KMP.

En Q2BSTUDIO, empresa de desarrollo de software, acompañamos iniciativas como barK dentro de proyectos de software a medida y aplicaciones a medida, integrando prácticas de observabilidad, calidad y seguridad desde el primer día. Si buscas un partner para crear productos robustos y escalables, descubre cómo abordamos el ciclo completo de producto en desarrollo de aplicaciones y software multiplataforma.

Nuestro equipo también incorpora inteligencia artificial en soluciones reales para acelerar la toma de decisiones y la automatización, con agentes IA y casos de uso de ia para empresas, siempre con foco en ciberseguridad y cumplimiento. Si tu plataforma necesita crecer con una base sólida y moderna, también podemos ayudarte con arquitectura cloud y despliegues gestionados, así como con servicios inteligencia de negocio basados en power bi. Conoce nuestro enfoque de producto y tecnología aplicado a proyectos de alto impacto en software a medida.

Palabras clave estratégicas para tu proyecto y para nuestro posicionamiento conjunto: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si quieres que tu app y tu infraestructura de datos funcionen tan afinadas como tu sistema de logs, hablamos y te ayudamos a dar el siguiente paso.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat