golang

Balík Golang Logrus

Balík Golang Logrus

V tejto lekcii o balíku Logrus v Golangu si preštudujeme rôzne príklady toho, ako efektívne je možné protokolovanie vykonávať v Go, a uvidíme, aké dôležité sú protokoly v programovacom jazyku Go. Teraz začneme.

Počnúc Go

Tu je adresárová štruktúra, ktorú som vytvoril pre svoj program Hello World:

Tu je program, ktorý sme vytvorili:

balíček hlavný
importovať „fmt“
func main ()
fmt.Printf („Ahoj, svet.\ n ")

Vyššie uvedený program môžeme spustiť nasledujúcim príkazom:

choď behať ahoj.choď

Po spustení tohto príkazu uvidíte výstup, ktorý uvidíte:

Teraz to vyzerá dobre. Prejdime k našej hlavnej agende.

Balík Logrus v Golangu

Ak chcete začať používať balík Logrus v programe Go, musíme dostať to. Spustite nasledujúci príkaz:

choď si -t github.com / Sirupsen / logrus

Keď začneme používať tento balík v IntelliJ, uvidíme túto chybu, ktorú môžeme vyriešiť jedným kliknutím:

Hneď ako balíček získate, môžeme ho začať používať. Začnime jednoduchým programom.

Základné protokolovanie pomocou protokolu Logrus

Začneme veľmi základným príkladom protokolovania na úrovni INFO. Protokol je možné vykonať pomocou reťazcových správ a metadát vo forme párov kľúč - hodnota, ktoré vyzerajú rovnako.

balíček hlavný
dovoz (
prihlásiť sa "github.com / Sirupsen / logrus "
)
func main ()
log.WithFields (log.Polia
"website": "linuxhint.com ",
"super": 100,
"pomoc": 200,
).Informácie („Golang pro“)

Keď spustíme tento program, môžeme vidieť nasledujúci výstup:

Teraz je to užitočné aj farebné!

Rôzne úrovne ťažby dreva

Teraz skúsime ďalší príklad, ktorý ukáže použitie rôznych úrovní protokolovania dostupných v Logruse a všeobecne. Oni sú:

Pokúsme sa zostaviť program a pozrime sa, ako sa tieto úrovne denníka líšia, keď sa objavia v našom programe:

balíček hlavný
dovoz (
prihlásiť sa "github.com / Sirupsen / logrus "
)
func main ()
log.WithFields (log.Polia
"website": "linuxhint.com ",
"super": 100,
).Informácie („INFO správa Golang pro“)
log.WithFields (log.Polia
"website": "linuxhint.com ",
"super": 100,
).Varovať („VÝSTRAŽNÁ správa Golang pro“)
log.WithFields (log.Polia
"website": "linuxhint.com ",
"super": 100,
).Fatálna („správa Golang pro FATAL“)
log.WithFields (log.Polia
"website": "linuxhint.com ",
"super": 100,
).Panika („správa Golang pro PANIC“)
log.WithFields (log.Polia
"website": "linuxhint.com ",
"úžasné": 100,
).Debug („správa Golang pro DEBUG“)

Keď spustíme tento program, uvidíme nasledujúci výstup:

Niečo si všimol? Príkazy protokolu po vyhlásení Fatal sa neobjavia ani v našom výstupe. Je to preto, že akonáhle dôjde k závažnej chybe, vykonávanie programu sa v Golangu zastaví.

Upravme poradie týchto príkazov a skontrolujte, či sú pozorované aj nejaké zmeny vo výstupe:

Tentokrát dokonca úroveň Panic Log reagovala rovnakým spôsobom, ale výstup bol veľmi odlišný a podrobný.

Pomocou úrovne protokolu Panic sa ubezpečte, že na výstupe v konzole sa tlačí aj dostatok informácií o hostiteľskom počítači, aby bolo možné prácu ladiť.

Jednoduchší spôsob vytvárania denníkov

Vo vyššie uvedených hovoroch boli protokoly dosť podrobné a tiež s metadátami. Existuje ľahší spôsob, ako prihlásiť svoje správy. Skúsme to teraz:

balíček hlavný
dovoz (
prihlásiť sa "github.com / Sirupsen / logrus "
)
func main ()
log.Debug („Ladenie údajov tu.„)
log.Informácie („Správy pre bežné informácie“)
log.Varovať („Mali by ste sa pozrieť na toto varovanie!„)
log.Chyba („Niečo zlyhalo, ale program bude pokračovať.„)
// Hovory os.Po prihlásení výstup (1)
log.Fatal („Odchádzam.„)
// Po prihlásení volá panic ()
log.Panika („Nebudem tlačiť :(“)

Tu je výstup pre program:

Chovanie prihlasovania bolo rovnaké, tentokrát sa však dali ľahko urobiť iba v jednom riadku.

Záver

V tomto príspevku sme študovali jednoduché, ale užitočné príklady toho, ako môžeme v našich aplikáciách zaznamenávať dôležité správy s rôznou závažnosťou a výrečnosťou pomocou balíka Logrus s Golangom.

Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...
Hry Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
OpenRA je herný engine Libre / Free Real Time Strategy, ktorý obnovuje rané hry z Westwoodu, ako napríklad klasické Command & Conquer: Red Alert. Dist...
Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...