logutils
é uma biblioteca de utilitários para logging em Go, que utiliza o pacote zerolog para fornecer logs estruturados e configuráveis. Esta biblioteca fornece funções para logging em diferentes níveis (Info, Error, Debug, Warn, Fatal) e é facilmente configurável através de variáveis de ambiente.
- Configuração padrão do logger com formatação JSON.
- Logs em diferentes níveis de severidade.
- Capacidade de definir o nível de log via variável de ambiente.
- Função de log crítico que encerra o programa.
Para instalar a biblioteca, você pode usar o comando go get
:
go get github.com/Mona-bele/logutils-go
Antes de usar a biblioteca para registrar mensagens, você precisa inicializar o logger. Isso é feito chamando a função InitLogger
:
import "github.com/Mona-bele/logutils-go"
func main() {
logutils.InitLogger()
// Your application code here
}
Depois de inicializar o logger, você pode usar as funções Info
, Error
, Debug
, Warn
e Fatal
para registrar mensagens em diferentes níveis de severidade.
import "github.com/Mona-bele/logutils-go"
func main() {
logutils.InitLogger()
fields := map[string]interface{}{
"user_id": "12345",
"action": "login",
}
logutils.Info("User logged in", fields)
}
import "github.com/Mona-bele/logutils-go"
func main() {
logutils.InitLogger()
err := someFunctionThatMightFail()
if err != nil {
fields := map[string]interface{}{
"context": "someFunction",
"detail": "failure reason",
}
logutils.Error("An error occurred", err, fields)
}
}
import "github.com/Mona-bele/logutils-go"
func main() {
logutils.InitLogger()
fields := map[string]interface{}{
"debug_info": "some internal state",
}
logutils.Debug("Debugging information", fields)
}
import "github.com/Mona-bele/logutils-go"
func main() {
logutils.InitLogger()
fields := map[string]interface{}{
"warning_context": "something unusual",
}
logutils.Warn("This is a warning", fields)
}
import "github.com/Mona-bele/logutils-go"
func main() {
logutils.InitLogger()
err := someCriticalFunctionThatMightFail()
if err != nil {
fields := map[string]interface{}{
"critical_context": "critical failure",
}
logutils.Fatal("A critical error occurred", err, fields)
}
}
Você pode configurar o nível de log usando a variável de ambiente LOG_LEVEL
. Os valores aceitos são debug
, info
, warn
, error
, e fatal
.
export LOG_LEVEL=info
Você também pode configurar o caminho do arquivo de log usando a variável de ambiente LOG_PATH
.
export LOG_PATH=logFilePath
Contribuições são bem-vindas! Siga estas etapas para contribuir:
- Faça um fork deste repositório.
- Crie uma branch para sua feature ou correção (
git checkout -b minha-feature
). - Faça suas alterações e commite-as (
git commit -am 'Adiciona nova feature'
). - Faça um push para a branch (
git push origin minha-feature
). - Abra um Pull Request.
Certifique-se de seguir o estilo de código existente e de incluir testes, se aplicável.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.