Sobes.tech
Junior — Middle

Que ferramentas e tecnologias utilizas para organizar o registo nos teus projetos?

sobes.tech IA

Resposta da IA

Nos projetos em Go para organizar o registo de logs, frequentemente utilizam as seguintes ferramentas e abordagens:

  • Pacote padrão log: uma ferramenta simples e incorporada para registo.

  • Bibliotecas avançadas:

    • logrus — registo estruturado com suporte para níveis de logs e hooks.
    • zap — registo de alto desempenho da Uber com custos adicionais mínimos.
    • zerolog — registo minimalista e rápido com suporte para JSON.
  • Organização dos níveis de logs: uso de níveis (Debug, Info, Warn, Error) para filtrar mensagens.

  • Formatação dos logs: logs estruturados em formato JSON para facilitar a análise e integração com sistemas de monitorização.

  • Saída para diferentes locais: ficheiros, consola, serviços remotos (por exemplo, ELK Stack, Graylog).

Exemplo de uso do logrus:

import (
    "github.com/sirupsen/logrus"
)

func main() {
    log := logrus.New()
    log.SetFormatter(&logrus.JSONFormatter{})
    log.SetLevel(logrus.InfoLevel)

    log.Info("Aplicação iniciada")
    log.Warn("Isto é um aviso")
    log.Error("Ocorreu um erro")
}

Assim, a escolha da ferramenta depende dos requisitos de desempenho, formato dos logs e facilidade de integração.