Golang

Golang Logrus-paket

Golang Logrus-paket

I den här lektionen om Logrus-paketet i Golang kommer vi att studera olika exempel på hur effektiv loggning kan göras i Go och se hur viktiga loggar är på Go-programmeringsspråket. Vi kommer igång nu.

Börjar med Go

Här är katalogstrukturen som jag skapade för mitt Hello World-program:

Här är programmet vi skapade:

paket huvud
importera "fmt"
funk main ()
fmt.Printf ("Hej världen.\ n ")

Vi kan köra programmet ovan med följande kommando:

gå springa hej.gå

När vi har kört det här kommandot, här är den utdata du kommer att se:

Nu ser det bra ut. Låt oss gå till vår huvudagenda.

Logrus-paketet i Golang

För att börja använda Logrus-paketet i Go-programmet måste vi skaffa sig Det. Kör följande kommando:

gå och få -t github.com / Sirupsen / logrus

När vi börjar använda detta paket i IntelliJ ser vi det här felet som vi kan lösa med ett klick:

När du har fått paketet kan vi börja använda det. Låt oss börja med ett enkelt program.

Grundläggande loggning med Logrus

Vi börjar med ett mycket enkelt exempel på INFO-nivåloggning. Loggning kan göras med strängmeddelanden och metadata i form av nyckel-värdepar som ser ut som samma.

paket huvud
importera (
logg "github.com / Sirupsen / logrus "
)
funk main ()
logga.WithFields (logg.Fält
"webbplats": "linuxhint.com ",
"fantastisk": 100,
"hjälp": 200,
).Info ("Golang pro")

När vi kör det här programmet kan vi se följande utdata:

Nu är det både användbart och färgstarkt!

Olika loggningsnivåer

Nu ska vi prova ett annat exempel som visar användningen av olika loggningsnivåer som finns tillgängliga i Logrus och i allmänhet. Dom är:

Låt oss försöka bygga ett program och se hur dessa loggnivåer skiljer sig åt när de visas i vårt program:

paket huvud
importera (
logg "github.com / Sirupsen / logrus "
)
funk main ()
logga.WithFields (log.Fält
"webbplats": "linuxhint.com ",
"fantastisk": 100,
).Info ("Golang pro INFO-meddelande")
logga.WithFields (log.Fält
"webbplats": "linuxhint.com ",
"fantastisk": 100,
).Varna ("Golang pro WARN-meddelande")
logga.WithFields (log.Fält
"webbplats": "linuxhint.com ",
"fantastisk": 100,
).Fatal ("Golang pro FATAL meddelande")
logga.WithFields (log.Fält
"webbplats": "linuxhint.com ",
"fantastisk": 100,
).Panik ("Golang pro PANIC-meddelande")
logga.WithFields (log.Fält
"webbplats": "linuxhint.com ",
"fantastisk": 100,
).Felsöka ("Golang pro DEBUG-meddelande")

När vi kör det här programmet ser vi följande utdata:

Märkte något? Logguttalandena efter Fatal-uttalandet visas inte ens i vår produktion. Detta beror på att så snart ett allvarligt fel mottas slutar programkörningen i Golang.

Låt oss ändra ordningen på dessa uttalanden och kontrollera om vissa förändringar i produktionen också observeras:

Den här gången reagerade även panikloggnivån på samma sätt men produktionen var väldigt annorlunda och detaljerad.

Med panikloggnivå ser du till att tillräckligt med information om värdmaskinen också skrivs ut i konsolen så att arbetet kan debuggable.

Enklare sätt att skapa loggar

I ovanstående samtal var loggarna ganska detaljerade och med metadata också. Det finns ett enklare sätt att logga dina meddelanden. Låt oss prova detta nu:

paket huvud
importera (
logg "github.com / Sirupsen / logrus "
)
funk main ()
logga.Felsökning ("Felsökningsdata här.")
logga.Info ("Meddelanden för vanlig information")
logga.Varna ("Du bör titta på den här varningen!")
logga.Fel ("Något misslyckades men programmet fortsätter.")
// Samtal os.Avsluta (1) efter loggning
logga.Fatal ("Jag lämnar.")
// Anropar panik () efter loggning
logga.Panik ("Jag kommer inte att skrivas ut :(")

Här är utdata för programmet:

Beteendet för loggning var detsamma men den här gången var de lätta att göra på bara en rad.

Slutsats

I det här inlägget studerade vi enkla men användbara exempel på hur vi kan logga viktiga meddelanden med olika svårighetsgrad och detaljer i våra applikationer med hjälp av Logrus-paketet med Golang.

Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...