Biblioteca de logging para Python que substitui a configuração padrão por um único logger, rotação de arquivos, saída colorida e logs estruturados.
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
Leia a documentação em chinês de docs/zh antes de fazer o port
- 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
Um sistema operacional de tempo real (RTOS) escalável para microcontroladores com recursos limitados e dispositivos IoT em diversas arquiteturas de CPU.
Ferramenta de linha de comando multiplataforma e sistema de build para desenvolvimento embarcado, com gerenciamento de bibliotecas, suporte a várias placas e frameworks, depuração e testes unitários.
Logger universal para TypeScript e JavaScript, com saída de terminal formatada, JSON estruturado com campos primeiro, mascaramento de segredos e nenhuma dependência em tempo de execução.
Pilha USB open source multiplataforma de Host e Device para sistemas embarcados, projetada para oferecer segurança de memória e de threads em mais de 50 famílias de MCU.
Biblioteca de logging sem dependências para JavaScript e TypeScript, compatível com Deno, Node.js, Bun, navegadores e edge functions.