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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat