Repolode
armink

armink/EasyLogger

Biblioteca de logging C/C++ ultraleve para dispositivos embarcados com recursos limitados, com filtros, saída colorida e destinos configuráveis.

Estrelas
4,799
Forks
1,323
Issues abertas
82
Último commit
anteontem

O que é?

EasyLogger é uma biblioteca de logging C/C++ criada para projetos sensíveis a recursos, como produtos de IoT, wearables e dispositivos de casa inteligente. Ela busca ocupar pouquíssimo espaço em código e RAM e mantém uma interface deliberadamente enxuta para ser rápida de adotar em comparação com bibliotecas mais pesadas, como log4c ou zlog.

O destino da saída é definido pelo usuário, então as mensagens podem ser enviadas para um terminal, arquivo, banco de dados, porta serial, RS-485 ou memória flash. Cada registro pode incluir nível, timestamp e informações de thread e processo; os filtros podem ser aplicados por tag, nível ou palavra-chave, tanto em tempo de compilação quanto em tempo de execução. Os níveis são exibidos em cores distintas, e há suporte aos formatos RAW e hexdump. A biblioteca funciona em RT-Thread, uC/OS, Linux, Windows, NuttX e plataformas bare-metal, além de oferecer modos de saída thread-safe, assíncrona e com buffer.

Recursos adicionais, como armazenamento de logs em flash (via EasyFlash) e rotação de arquivos, são oferecidos como plugins.

Recursos principais

  • 01Pegada ultrapequena: menos de 1,6K de ROM e 0,3K de RAM.
  • 02Destinos de saída definidos pelo usuário, como terminal, arquivo, flash, porta serial ou banco de dados.
  • 03Filtros estáticos e dinâmicos por tag, nível e palavra-chave.
  • 04Modos de saída thread-safe, assíncrona e com buffer.
  • 05Saída colorida por nível, além dos formatos RAW e hexdump.
  • 06Plugins para armazenamento de logs em flash e rotação de arquivos.

Casos de uso

  • Registrar logs em firmware de IoT ou wearables com recursos limitados.
  • Depurar dispositivos embarcados em RT-Thread ou em plataformas bare-metal.
  • Armazenar logs de dispositivos em flash em sistemas sem sistema de arquivos.
  • Adicionar filtros de logs por tag a um projeto C de grande porte.

Início rápido

  1. 1

    Leia a documentação em chinês de docs/zh antes de fazer o port

  2. 2

    Faça o port da biblioteca para o seu projeto seguindo docs/zh/port/kernel.md

Antes de usar

  • Não há instalação por gerenciador de pacotes; você precisa fazer o port do código-fonte para o seu projeto.
  • A configuração é um singleton global, portanto não são compatíveis configurações complexas para cada saída.
  • A documentação principal e o README estão em chinês.

Em coleções

Tópicos

Perguntas frequentes

O que é EasyLogger?
Biblioteca de logging C/C++ ultraleve para dispositivos embarcados com recursos limitados, com filtros, saída colorida e destinos configuráveis. EasyLogger é uma biblioteca de logging C/C++ criada para projetos sensíveis a recursos, como produtos de IoT, wearables e dispositivos de casa inteligente. Ela busca ocupar pouquíssimo espaço em código e RAM e mantém uma interface deliberadamente enxuta para ser rápida de adotar em comparação com bibliotecas mais pesadas, como log4c ou zlog.
EasyLogger é gratuito? Qual é a licença?
EasyLogger é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
EasyLogger ainda é mantido?
Manutenção ativa. O último commit de EasyLogger foi em 5 de nov. de 2026.
Para que posso usar EasyLogger?
Registrar logs em firmware de IoT ou wearables com recursos limitados. Depurar dispositivos embarcados em RT-Thread ou em plataformas bare-metal. Armazenar logs de dispositivos em flash em sistemas sem sistema de arquivos. Adicionar filtros de logs por tag a um projeto C de grande porte.
Como instalar EasyLogger?
Leia a documentação em chinês de docs/zh antes de fazer o port Faça o port da biblioteca para o seu projeto seguindo docs/zh/port/kernel.md
Onde consigo EasyLogger?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/armink/EasyLogger

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados