golang

Golang Logrus-pakket

Golang Logrus-pakket

In deze les over het Logrus-pakket in Golang zullen we verschillende voorbeelden bestuderen over hoe effectief Logging kan worden gedaan in Go en zien hoe belangrijk logbestanden zijn in de programmeertaal Go. We gaan nu aan de slag.

beginnend met Go

Hier is de directorystructuur die ik heb gemaakt voor mijn Hello World-programma:

Dit is het programma dat we hebben gemaakt:

pakket hoofd
importeer "fmt"
fun hoofd()
fmt.Printf("Hallo wereld.\n")

We kunnen het bovenstaande programma uitvoeren met de volgende opdracht:

ga rennen hallo.Gaan

Zodra we deze opdracht hebben uitgevoerd, is hier de uitvoer die u zult zien:

Nou dat ziet er goed uit. Laten we naar onze hoofdagenda gaan.

Logrus-pakket in Golang

Om het Logrus-pakket in het Go-programma te gaan gebruiken, moeten we: krijgen het. Voer de volgende opdracht uit:

ga halen -t github.com/Sirupsen/logrus

Wanneer we dit pakket in IntelliJ gaan gebruiken, zien we deze fout die we met één klik kunnen oplossen:

Zodra je het pakket hebt ontvangen, kunnen we het gaan gebruiken!. Laten we beginnen met een eenvoudig programma.

Basisregistratie met Logrus

We beginnen met een heel eenvoudig voorbeeld van een INFO-niveau loggen. Loggen kan worden gedaan met String-berichten en metagegevens in de vorm van sleutel-waardeparen die er hetzelfde uitzien.

pakket hoofd
importeren (
log "github".com/Sirupsen/logrus"
)
fun hoofd()
log.WithFields(log.Velden
"website": "linuxhint".kom",
"geweldig": 100,
"help":   200,
).Info("Golang pro")

Wanneer we dit programma uitvoeren, kunnen we de volgende uitvoer zien:

Dat is zowel handig als kleurrijk!

Verschillende logboekniveaus

Nu zullen we een ander voorbeeld proberen dat het gebruik laat zien van verschillende Logging-niveaus die beschikbaar zijn in Logrus en in het algemeen. Zij zijn:

Laten we proberen een programma te bouwen en kijken hoe deze logniveaus verschillen wanneer ze in ons programma verschijnen:

pakket hoofd
importeren (
log "github".com/Sirupsen/logrus"
)
fun hoofd()
log.WithFields(log.Velden
"website": "linuxhint".kom",
"geweldig": 100,
).Info ("Golang pro INFO-bericht")
log.WithFields(log.Velden
"website": "linuxhint".kom",
"geweldig": 100,
).Waarschuwen ("Golang pro WARN-bericht")
log.WithFields(log.Velden
"website": "linuxhint".kom",
"geweldig": 100,
).Fatal ("Golang pro FATAL-bericht")
log.WithFields(log.Velden
"website": "linuxhint".kom",
"geweldig": 100,
).Paniek ("Golang pro PANIEK bericht")
log.WithFields(log.Velden
"website": "linuxhint".kom",
"geweldig": 100,
).Debug ("Golang pro DEBUG-bericht")

Wanneer we dit programma uitvoeren, zien we de volgende uitvoer:

iets opgemerkt? De log-instructies na de Fatal-instructie verschijnen niet eens in onze uitvoer. Dit komt omdat zodra een fatale fout wordt ontvangen, de uitvoering van het programma stopt in Golang.

Laten we de volgorde van deze uitspraken wijzigen en controleren of er ook veranderingen in de uitvoer worden waargenomen:

Deze keer reageerde zelfs het Panic Log-niveau op dezelfde manier, maar de uitvoer was heel anders en gedetailleerd.

Met Panieklogboekniveau zorgt u ervoor dat voldoende informatie over de hostmachine ook wordt afgedrukt in de uitvoer in de console, zodat het werk debugbaar is.

Eenvoudigere manier om logboeken te maken

In bovenstaande oproepen waren logboeken behoorlijk gedetailleerd en ook met metadata. Er is een eenvoudigere manier om uw berichten te loggen. Laten we dit nu proberen:

pakket hoofd
importeren (
log "github".com/Sirupsen/logrus"
)
fun hoofd()
log.Debug("Debuggen van gegevens hier.")
log.Info("Berichten voor algemene info")
log.Warn("Je zou deze waarschuwing moeten bekijken!")
log.Error("Er is iets mislukt, maar het programma gaat door.")
// Oproepen os.Afsluiten(1) na inloggen
log.Fatal("Ik ga weg.")
// Roept panic() op na het loggen
log.Panic("Ik zal niet worden afgedrukt :(")

Hier is de uitvoer van het programma:

Het gedrag voor het loggen was hetzelfde, maar deze keer waren ze eenvoudig te maken in slechts één regel.

Conclusie

In dit bericht hebben we eenvoudige maar nuttige voorbeelden bestudeerd van hoe we belangrijke berichten met verschillende ernst en breedsprakigheid in onze applicaties kunnen loggen met behulp van het Logrus-pakket met Golang.

Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...
Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...