Repolode
sirupsen

sirupsen/logrus

Logger estruturado e compatível com a API de Go, com formatadores e hooks extensíveis; atualmente em modo de manutenção.

Estrelas
25,764
Forks
2,297
Issues abertas
59
Último commit
há 22 dias

O que é?

Logrus é um logger estruturado para Go, compatível com a API do pacote padrão log, então é possível substituir as importações existentes de log com poucas alterações. Ele registra entradas com campos de chave-valor e um nível, e pode gerar texto colorido para terminais, texto no estilo logfmt ou JSON para sistemas de agregação de logs, como Logstash e Splunk.

O logger oferece sete níveis, de Trace a Panic, destinos de saída por logger usando qualquer io.Writer e contextos de campos reutilizáveis criados com WithFields. Hooks permitem encaminhar entradas para outros serviços, como rastreadores de erros ou syslog, e é possível adicionar formatadores personalizados implementando um método Format. O projeto também inclui a identificação do chamador, um hook de teste para verificar mensagens registradas e handlers para saída fatal.

O projeto está em modo de manutenção: os mantenedores se concentram em correções de segurança, bugs e desempenho, e limitam novos recursos à interoperabilidade, como a integração com log/slog do Go. O README indica Zerolog, Zap e Apex como alternativas desenvolvidas com práticas mais recentes de logging estruturado em Go.

Recursos principais

  • 01Compatível diretamente com a API log da biblioteca padrão.
  • 02Campos estruturados de chave-valor e sete níveis, de Trace a Panic.
  • 03Formatadores para saída colorida no terminal, texto no estilo logfmt e JSON.
  • 04Hooks para encaminhar entradas a serviços como syslog ou rastreadores de erros.
  • 05Formatadores personalizados por meio de uma interface Format simples.
  • 06Hook de teste para verificar mensagens registradas em testes unitários.

Casos de uso

  • Adicionar logs JSON estruturados a um serviço Go para ingestão pelo Logstash ou Splunk.
  • Migrar um projeto existente do pacote padrão log sem reescrever os pontos de chamada.
  • Enviar entradas de nível de erro a um rastreador de exceções externo usando um hook.
  • Verificar em testes unitários se mensagens específicas foram registradas.

Início rápido

  1. 1

    Instale o módulo Logrus

    go get github.com/sirupsen/logrus
  2. 2

    Importe-o no seu código Go e registre uma mensagem com campos

Antes de usar

  • O Logrus está em modo de manutenção, portanto não há planos para adicionar novos recursos.
  • O README indica alternativas como Zerolog, Zap e Apex.

Em coleções

Tópicos

Perguntas frequentes

O que é logrus?
Logger estruturado e compatível com a API de Go, com formatadores e hooks extensíveis; atualmente em modo de manutenção. Logrus é um logger estruturado para Go, compatível com a API do pacote padrão log, então é possível substituir as importações existentes de log com poucas alterações. Ele registra entradas com campos de chave-valor e um nível, e pode gerar texto colorido para terminais, texto no estilo logfmt ou JSON para sistemas de agregação de logs, como Logstash e Splunk.
logrus é gratuito? Qual é a licença?
logrus é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
logrus ainda é mantido?
Manutenção ativa. O último commit de logrus foi em 2 de out. de 2026.
Para que posso usar logrus?
Adicionar logs JSON estruturados a um serviço Go para ingestão pelo Logstash ou Splunk. Migrar um projeto existente do pacote padrão log sem reescrever os pontos de chamada. Enviar entradas de nível de erro a um rastreador de exceções externo usando um hook. Verificar em testes unitários se mensagens específicas foram registradas.
Como instalar logrus?
Instale o módulo Logrus: go get github.com/sirupsen/logrus Importe-o no seu código Go e registre uma mensagem com campos
Onde consigo logrus?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/sirupsen/logrus

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

Projetos relacionados