golang

Golang Logrus csomag

Golang Logrus csomag

Ebben a Golang-i Logrus csomagról szóló leckében különféle példákat fogunk tanulmányozni arról, hogy mennyire hatékony a naplózás a Go-ban, és megnézzük, mennyire fontosak a naplók a Go programozási nyelvben. Most elkezdjük.

Kezdve a Go-val

Itt található a Hello World programhoz készített könyvtárstruktúra:

Itt van a létrehozott program:

csomag fő
import "fmt"
func main ()
fmt.Printf ("Helló, világ!.\ n ")

A fenti programot a következő paranccsal futtathatjuk:

menj szaladj hello.megy

Miután futtattuk ezt a parancsot, itt látható a kimenet:

Most ez jól néz ki. Térjünk át a fő menetrendünkre.

Logrus csomag Golangban

A Logrus csomag használatának megkezdéséhez a Go programban meg kell tennünk kap azt. Futtassa a következő parancsot:

menj szerezd -t github.com / Sirupsen / logrus

Amikor elkezdjük használni ezt a csomagot az IntelliJ alkalmazásban, látjuk ezt a hibát, amelyet egyetlen kattintással megoldhatunk:

Miután megkapta a csomagot, elkezdhetjük használni. Kezdjük egy egyszerű programmal.

Alapvető naplózás a Logrusszal

Kezdjük egy nagyon egyszerű INFO szintű naplózási példával. A naplózást String üzenetekkel és metaadatokkal lehet elvégezni kulcs-érték párok formájában, amelyek ugyanúgy jelennek meg.

csomag fő
import (
log "github.com / Sirupsen / logrus "
)
func main ()
napló.WithFields (log.Mezők
"website": "linuxhint.com ",
"félelmetes": 100,
"segítség": 200,
).Info ("Golang pro")

A program futtatásakor a következő kimenetet láthatjuk:

Most ez egyszerre hasznos és színes!

Különböző naplózási szintek

Most megpróbálunk egy másik példát, amely bemutatja a Logrusban elérhető és általában használt különféle naplózási szintek használatát. Ők:

Próbálkozzunk egy program felépítésével, és nézzük meg, hogy ezek a naplószintek hogyan különböznek, amikor megjelennek a programunkban:

csomag fő
import (
log "github.com / Sirupsen / logrus "
)
func main ()
napló.WithFields (log.Mezők
"website": "linuxhint.com ",
"félelmetes": 100,
).Info ("Golang pro INFO üzenet")
napló.WithFields (log.Mezők
"website": "linuxhint.com ",
"félelmetes": 100,
).Figyelmeztetés ("Golang pro WARN üzenet")
napló.WithFields (log.Mezők
"website": "linuxhint.com ",
"félelmetes": 100,
).Végzetes ("Golang pro FATAL message")
napló.WithFields (log.Mezők
"website": "linuxhint.com ",
"félelmetes": 100,
).Pánik ("Golang pro PANIC üzenet")
napló.WithFields (log.Mezők
"website": "linuxhint.com ",
"félelmetes": 100,
).Hibakeresés ("Golang pro DEBUG üzenet")

A program futtatásakor a következő kimenetet látjuk:

Észrevett valamit? A Fatal utasítás utáni napló utasítások nem is jelennek meg a kimenetünkben. Ennek oka, hogy amint végzetes hiba érkezik, a program végrehajtása leáll Golangban.

Módosítsuk ezeknek az utasításoknak a sorrendjét, és ellenőrizzük, hogy a kimeneten is megfigyelhető-e valamilyen változás:

Ezúttal még a Pánik Log szintje is ugyanúgy reagált, de a kimenet nagyon eltérő és részletes volt.

A pániknapló szintjén meg kell győződnie arról, hogy a konzol kimenetén is elég információ található a gazdagépről, hogy a munka hibakereshető legyen.

Naplók készítésének egyszerűbb módja

A fenti hívások során a Naplók elég részletesek voltak és metaadatokkal is voltak ellátva. Van egy egyszerűbb módja az üzenetek naplózásának. Próbálja ki most:

csomag fő
import (
log "github.com / Sirupsen / logrus "
)
func main ()
napló.Debug ("Az adatok hibakeresése itt.")
napló.Info ("Üzenetek a gyakori információkért")
napló.Figyelmeztetés ("Meg kell néznie ezt a figyelmeztetést!")
napló.Hiba ("Valami nem sikerült, de a program folytatódik.")
// hívja az os-t.Kilépés (1) naplózás után
napló.Végzetes ("elmegyek.")
// Naplózást követően hívja a pánikot ()
napló.Pánik ("Nem nyomtatnak ki :(")

Itt van a program kimenete:

A fakitermelés viselkedése ugyanaz volt, de ezúttal könnyen elkészíthetők csak egy sorban.

Következtetés

Ebben a bejegyzésben egyszerű, de hasznos példákat tanulmányoztunk arról, hogyan lehet naplózni fontos üzeneteinket különböző súlyossággal és részletességgel az alkalmazásainkban a Logrus csomag és a Golang segítségével.

Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...
Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...
A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...