Golang

Pacote Golang Logrus

Pacote Golang Logrus

Nesta lição sobre o pacote Logrus em Golang, estudaremos vários exemplos de como o registro pode ser eficaz em Go e veremos como os registros são importantes na linguagem de programação Go. Vamos começar agora.

Começando com Go

Aqui está a estrutura de diretório que fiz para o meu programa Hello World:

Aqui está o programa que criamos:

pacote principal
importar "fmt"
func main ()
fmt.Printf ("Olá, mundo.\ n ")

Podemos executar o programa acima com o seguinte comando:

vai correr olá.vai

Depois de executar este comando, aqui está a saída que você verá:

Agora isso parece bom. Vamos passar para a nossa agenda principal.

Pacote Logrus em Golang

Para começar a usar o pacote Logrus no programa Go, devemos obter isto. Execute o seguinte comando:

vá buscar -t github.com / Sirupsen / logrus

Quando começamos a usar este pacote no IntelliJ, vemos este erro que podemos resolver com um clique:

Depois de obter o pacote, podemos começar a usá-lo. Vamos começar com um programa simples.

Extração Básica com Logrus

Começaremos com um exemplo de registro de nível de INFO muito básico. O registro pode ser feito com mensagens de string e metadados na forma de pares de valores-chave que aparecem iguais.

pacote principal
importar (
log "github.com / Sirupsen / logrus "
)
func main ()
registro.WithFields (log.Campos
"site": "linuxhint.com ",
"incrível": 100,
"ajuda": 200,
).Informações ("Golang pro")

Quando executamos este programa, podemos ver a seguinte saída:

Agora isso é útil e colorido!

Vários níveis de registro

Agora, vamos tentar outro exemplo que mostrará o uso de vários níveis de registro disponíveis em Logrus e em geral. Eles são:

Vamos tentar construir um programa e ver como esses níveis de registro diferem quando aparecem em nosso programa:

pacote principal
importar (
log "github.com / Sirupsen / logrus "
)
func main ()
registro.WithFields (log.Campos
"site": "linuxhint.com ",
"incrível": 100,
).Info ("mensagem Golang pro INFO")
registro.WithFields (log.Campos
"site": "linuxhint.com ",
"incrível": 100,
).Warn ("mensagem Golang pro WARN")
registro.WithFields (log.Campos
"site": "linuxhint.com ",
"incrível": 100,
).Fatal ("mensagem Golang pro FATAL")
registro.WithFields (log.Campos
"site": "linuxhint.com ",
"incrível": 100,
).Pânico ("mensagem Golang pro PANIC")
registro.WithFields (log.Campos
"site": "linuxhint.com ",
"incrível": 100,
).Depurar ("mensagem Golang pro DEBUG")

Quando executarmos este programa, veremos a seguinte saída:

Notou algo? As declarações de log após a declaração Fatal nem mesmo aparecem em nossa saída. Isso ocorre porque, assim que um erro fatal é recebido, a execução do programa para em Golang.

Vamos modificar a ordem dessas instruções e verificar se algumas mudanças na saída também são observadas:

Desta vez, até o nível de Log de Pânico reagiu da mesma maneira, mas a saída foi muito diferente e detalhada.

Com o nível de registro do Panic, você garante que informações suficientes sobre a máquina host também sejam impressas na saída do console para que o trabalho seja depurável.

Maneira mais simples de fazer logs

Nas chamadas acima, os registros eram bem detalhados e com metadados também. Existe uma maneira mais fácil de registrar suas mensagens. Vamos tentar isso agora:

pacote principal
importar (
log "github.com / Sirupsen / logrus "
)
func main ()
registro.Debug ("Dados de depuração aqui.")
registro.Info ("Mensagens para informações comuns")
registro.Warn ("Você deve olhar para este aviso!")
registro.Erro ("Algo falhou, mas o programa continuará.")
// Chama os.Saia (1) após o registro
registro.Fatal ("estou saindo.")
// Chama panic () após o registro
registro.Pânico ("Não serei impresso :(")

Aqui está a saída do programa:

O comportamento para registro foi o mesmo, mas desta vez, eles foram fáceis de fazer em apenas uma linha.

Conclusão

Nesta postagem, estudamos exemplos simples, mas úteis sobre como podemos registrar mensagens importantes com diferentes severidades e verbosidade em nossos aplicativos usando o pacote Logrus com Golang.

Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...
Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...