golang

Pacchetto Golang Logrus

Pacchetto Golang Logrus

In questa lezione sul pacchetto Logrus in Golang, studieremo vari esempi su come è possibile eseguire il logging in modo efficace in Go e vedremo quanto siano importanti i log nel linguaggio di programmazione Go. Inizieremo ora.

A partire da Go

Ecco la struttura di directory che ho creato per il mio programma Hello World:

Ecco il programma che abbiamo creato:

pacchetto principale
importare "fmt"
funzione principale()
fmt.Printf("Ciao, mondo.\n")

Possiamo eseguire il programma sopra con il seguente comando:

vai a correre ciao.partire

Una volta eseguito questo comando, ecco l'output che vedrai:

Ora sembra a posto. Passiamo alla nostra agenda principale.

Pacchetto Logrus nel Golang

Per iniziare a utilizzare il pacchetto Logrus nel programma Go, dobbiamo ottenere è. Esegui il seguente comando:

vai a prendere -t github.com/Sirupsen/logrus

Quando iniziamo a utilizzare questo pacchetto in IntelliJ, vediamo questo errore che possiamo risolvere con un clic:

Una volta ricevuto il pacchetto, possiamo iniziare a usarlo. Iniziamo con un semplice programma.

Registrazione di base con Logrus

Inizieremo con un esempio di registrazione del livello INFO molto semplice. La registrazione può essere eseguita con messaggi stringa e metadati sotto forma di coppie chiave-valore che appaiono uguali.

pacchetto principale
importazione (
log "github.com/Sirupsen/logrus"
)
funzione principale()
log.WithFields(log.Campi
"sito web": "linuxhint.com",
"fantastico": 100,
"aiuto":  200,
).Info("Golang pro")

Quando eseguiamo questo programma, possiamo vedere il seguente output:

Ora è sia utile che colorato!

Vari livelli di registrazione

Ora proveremo un altro esempio che mostrerà l'uso di vari livelli di registrazione disponibili in Logrus e in generale. Sono:

Proviamo a costruire un programma e vediamo come differiscono questi livelli di log quando appaiono nel nostro programma:

pacchetto principale
importazione (
log "github.com/Sirupsen/logrus"
)
funzione principale()
log.WithFields(log.Campi
"sito web": "linuxhint.com",
"fantastico": 100,
).Info("Messaggio INFO Golang pro")
log.WithFields(log.Campi
"sito web": "linuxhint.com",
"fantastico": 100,
).Avvisa ("Messaggio WARN di Golang pro")
log.WithFields(log.Campi
"sito web": "linuxhint.com",
"fantastico": 100,
).Fatal("Messaggio Golang pro FATAL")
log.WithFields(log.Campi
"sito web": "linuxhint.com",
"fantastico": 100,
).Panico("Messaggio Golang pro PANIC")
log.WithFields(log.Campi
"sito web": "linuxhint.com",
"fantastico": 100,
).Debug("Messaggio di DEBUG di Golang pro")

Quando eseguiamo questo programma, vedremo il seguente output:

Ho notato qualcosa? Le istruzioni di log dopo l'istruzione Fatal non appaiono nemmeno nel nostro output. Questo perché non appena viene ricevuto un errore fatale, l'esecuzione del programma si interrompe in Golang.

Modifichiamo l'ordine di queste istruzioni e controlliamo se vengono osservate anche alcune modifiche nell'output:

Questa volta, anche il livello di Panic Log ha reagito allo stesso modo, ma l'output è stato molto diverso e dettagliato.

Con il livello di log Panic, ti assicuri che nell'output nella console vengano stampate anche informazioni sufficienti sulla macchina host in modo che il lavoro sia debugabile.

Un modo più semplice per creare log

Nelle chiamate precedenti, i registri erano piuttosto dettagliati e anche con metadati. C'è un modo più semplice per registrare i tuoi messaggi. Proviamo questo ora:

pacchetto principale
importazione (
log "github.com/Sirupsen/logrus"
)
funzione principale()
log.Debug("Debug dei dati qui.")
log.Info("Messaggi per informazioni comuni")
log.Avvisa("Dovresti guardare questo avviso!")
log.Error("Si è verificato un errore ma il programma continuerà.")
// Chiama il sistema operativo.Esci(1) dopo la registrazione
log.Fatale ("Me ne vado.")
// Chiama panic() dopo la registrazione
log.Panico("Non verrò stampato :(")

Ecco l'output del programma:

Il comportamento per la registrazione era lo stesso, ma questa volta erano facili da realizzare in una sola riga.

Conclusione

In questo post, abbiamo studiato esempi semplici ma utili su come possiamo registrare messaggi importanti con diversa gravità e verbosità nelle nostre applicazioni utilizzando il pacchetto Logrus con Golang.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...