Biblioteca header-only para expor tipos e funções de C++ ao Python, principalmente para criar bindings Python para código C++ existente.
gabime/spdlog
Biblioteca rápida de logging para C++ com saída formatada, modo assíncrono e vários destinos, como arquivos rotativos, console e syslog.
- Estrelas
- 29,703
- Forks
- 5,341
- Issues abertas
- 58
- Último commit
- há 18 horas
O que é?
spdlog é uma biblioteca de logging para C++ que permite às aplicações gravar mensagens de log formatadas em diversos destinos. Ela pode ser usada como uma biblioteca header-only ou compilada com CMake, e usa a biblioteca fmt para formatar mensagens.
Os loggers podem gravar em arquivos rotativos ou diários, no console com cores, no syslog, no log de eventos do Windows, no debugger do Windows e em widgets do Qt. Os níveis de log podem ser alterados em tempo de execução ou compilação, e carregados de argumentos da linha de comando ou variáveis de ambiente. Um modo assíncrono opcional transfere o trabalho de saída para um pool de threads em segundo plano, e um buffer de backtrace mantém as mensagens de debug recentes para que possam ser exibidas quando ocorrer um erro.
A biblioteca oferece suporte a Linux, variantes do BSD, Solaris, AIX, Windows, macOS e Android, e está disponível em vários gerenciadores de pacotes comuns.
Recursos principais
- 01Uso header-only ou compilado com CMake
- 02Mensagens formatadas com fmt, incluindo padrões personalizados e tipos definidos pelo usuário
- 03Destinos para arquivos rotativos e diários, console, syslog e log de eventos do Windows
- 04Logging assíncrono com um pool de threads em segundo plano
- 05Controle dos níveis de log em tempo de execução e compilação, com carregamento de variáveis de ambiente ou argv
- 06Buffer de backtrace para exibir sob demanda mensagens de debug recentes
Casos de uso
- Adicionar logging estruturado e com níveis a um servidor ou aplicativo desktop em C++
- Gravar logs em arquivos rotativos em serviços de longa duração
- Enviar grandes volumes de logs por um logger assíncrono para reduzir o impacto nas threads que processam requisições
- Encaminhar logs para o syslog ou o log de eventos do Windows em serviços do sistema
Início rápido
- 1
Clone o repositório
git clone https://github.com/gabime/spdlog.git - 2
Acesse o diretório e crie uma pasta de build
cd spdlog && mkdir build && cd build - 3
Configure e compile com CMake
cmake .. && cmake --build .
Antes de usar
- A licença não está claramente identificada nos metadados, então confira o arquivo de licença do repositório antes de usá-lo.
Em coleções
Tópicos
Perguntas frequentes
- O que é spdlog?
- Biblioteca rápida de logging para C++ com saída formatada, modo assíncrono e vários destinos, como arquivos rotativos, console e syslog. spdlog é uma biblioteca de logging para C++ que permite às aplicações gravar mensagens de log formatadas em diversos destinos. Ela pode ser usada como uma biblioteca header-only ou compilada com CMake, e usa a biblioteca fmt para formatar mensagens.
- spdlog é gratuito? Qual é a licença?
- spdlog é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- spdlog ainda é mantido?
- Manutenção ativa. O último commit de spdlog foi em 24 de out. de 2026.
- Para que posso usar spdlog?
- Adicionar logging estruturado e com níveis a um servidor ou aplicativo desktop em C++ Gravar logs em arquivos rotativos em serviços de longa duração Enviar grandes volumes de logs por um logger assíncrono para reduzir o impacto nas threads que processam requisições Encaminhar logs para o syslog ou o log de eventos do Windows em serviços do sistema
- Como instalar spdlog?
- Clone o repositório: git clone https://github.com/gabime/spdlog.git Acesse o diretório e crie uma pasta de build: cd spdlog && mkdir build && cd build Configure e compile com CMake: cmake .. && cmake --build .
- Onde consigo spdlog?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/gabime/spdlog
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma biblioteca C++11 em um único header para criar servidores e clientes HTTP/HTTPS com I/O de socket bloqueante.
Biblioteca C++ header-only para parsing rápido e exato de valores float, double e inteiros a partir de strings, com uma implementação substituta de from_chars.
Biblioteca assíncrona de logging e métricas em C++17, com latência ultrabaixa, que adia a formatação e a I/O para uma thread em segundo plano.
Biblioteca C++11 header-only que permite analisar, criar, manipular e serializar JSON em C++ com uma sintaxe semelhante à da STL.
Gerenciador de pacotes C/C++ gratuito e de código aberto da Microsoft para instalar e compilar bibliotecas no Windows, macOS e Linux.