Repolode
armink

armink/EasyLogger

Una biblioteca de logging para C/C++ ultraligera, pensada para dispositivos embebidos con recursos limitados y con filtros, salida en color y destinos configurables.

Estrellas
4,799
Forks
1,323
Issues abiertos
82
Último commit
hace 20 horas

¿Qué es?

EasyLogger es una biblioteca de logging para C/C++ diseñada para proyectos sensibles al consumo de recursos, como productos IoT, wearables y dispositivos para el hogar inteligente. Está pensada para ocupar muy poco espacio en código y RAM, y mantiene una interfaz deliberadamente sencilla para que sea rápida de adoptar frente a bibliotecas más pesadas, como log4c o zlog.

El destino de los mensajes se configura según las necesidades del usuario, por lo que pueden enviarse a una terminal, un archivo, una base de datos, un puerto serie, RS-485 o memoria flash. Cada entrada puede incluir el nivel, la marca de tiempo y datos del hilo y del proceso; además, es posible filtrar por etiqueta, nivel o palabra clave, tanto en tiempo de compilación como de ejecución. Los niveles se muestran en distintos colores y se admiten los formatos RAW y hexdump. La biblioteca funciona en RT-Thread, uC/OS, Linux, Windows, NuttX y plataformas bare-metal, y ofrece modos de salida seguros para hilos, asíncronos y con búfer.

Hay plugins que añaden funciones como el almacenamiento de logs en flash (mediante EasyFlash) y la rotación de archivos.

Funciones clave

  • 01Huella ultrapequeña: menos de 1.6K de ROM y 0.3K de RAM.
  • 02Destinos de salida configurables, como terminal, archivo, memoria flash, puerto serie o base de datos.
  • 03Filtrado estático y dinámico por etiqueta, nivel y palabra clave.
  • 04Modos de salida seguros para hilos, asíncronos y con búfer.
  • 05Salida en color según el nivel, además de los formatos RAW y hexdump.
  • 06Plugins para almacenar logs en flash y rotar archivos.

Casos de uso

  • Registrar logs en firmware de IoT o wearables con recursos limitados.
  • Depurar dispositivos embebidos en RT-Thread o en plataformas bare-metal.
  • Almacenar logs de dispositivos en memoria flash en sistemas sin sistema de archivos.
  • Añadir filtrado de logs por etiqueta a un proyecto C de gran tamaño.

Inicio rápido

  1. 1

    Lee la documentación en chino de docs/zh antes de portar la biblioteca

  2. 2

    Porta la biblioteca a tu proyecto siguiendo docs/zh/port/kernel.md

Antes de usarlo

  • No se puede instalar mediante un gestor de paquetes; debes portar el código fuente a tu proyecto.
  • La configuración es un singleton global, por lo que no se admiten configuraciones complejas para cada salida.
  • La documentación principal y el README están en chino.

En colecciones

Temas

Preguntas frecuentes

¿Qué es EasyLogger?
Una biblioteca de logging para C/C++ ultraligera, pensada para dispositivos embebidos con recursos limitados y con filtros, salida en color y destinos configurables. EasyLogger es una biblioteca de logging para C/C++ diseñada para proyectos sensibles al consumo de recursos, como productos IoT, wearables y dispositivos para el hogar inteligente. Está pensada para ocupar muy poco espacio en código y RAM, y mantiene una interfaz deliberadamente sencilla para que sea rápida de adoptar frente a bibliotecas más pesadas, como log4c o zlog.
¿EasyLogger es gratuito? ¿Qué licencia tiene?
EasyLogger es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿EasyLogger sigue mantenido?
Mantenimiento activo. El último commit de EasyLogger fue el 5 nov 2026.
¿Para qué puedo usar EasyLogger?
Registrar logs en firmware de IoT o wearables con recursos limitados. Depurar dispositivos embebidos en RT-Thread o en plataformas bare-metal. Almacenar logs de dispositivos en memoria flash en sistemas sin sistema de archivos. Añadir filtrado de logs por etiqueta a un proyecto C de gran tamaño.
¿Cómo se instala EasyLogger?
Lee la documentación en chino de docs/zh antes de portar la biblioteca Porta la biblioteca a tu proyecto siguiendo docs/zh/port/kernel.md
¿Dónde consigo EasyLogger?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/armink/EasyLogger

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados