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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat