golang

Balíček Golang Logrus

Balíček Golang Logrus

V této lekci o balíčku Logrus v Golangu si prostudujeme různé příklady toho, jak efektivní lze protokolování v Go, a jak důležité jsou protokoly v programovacím jazyce Go. Začneme hned.

Počínaje Go

Zde je adresářová struktura, kterou jsem vytvořil pro svůj program Hello World:

Zde je program, který jsme vytvořili:

balíček hlavní
importovat „fmt“
func main ()
fmt.Printf („Ahoj, svět.\ n ")

Výše uvedený program můžeme spustit pomocí následujícího příkazu:

běž běž ahoj.jít

Jakmile spustíme tento příkaz, uvidíte výstup, který uvidíte:

Teď to vypadá dobře. Pojďme k naší hlavní agendě.

Balíček Logrus v Golangu

Abychom mohli začít používat balíček Logrus v programu Go, musíme dostat to. Spusťte následující příkaz:

jdi si - github.com / Sirupsen / logrus

Když začneme používat tento balíček v IntelliJ, uvidíme tuto chybu, kterou můžeme vyřešit jedním kliknutím:

Jakmile balíček získáte, můžeme jej začít používat. Začněme jednoduchým programem.

Základní protokolování pomocí Logrusu

Začneme velmi základním příkladem protokolování úrovně INFO. Protokolování lze provádět pomocí řetězcových zpráv a metadat ve formě párů klíč – hodnota, které vypadají stejně.

balíček hlavní
import (
přihlásit "github.com / Sirupsen / logrus "
)
func main ()
log.WithFields (log.Pole
"website": "linuxhint.com ",
"awesome": 100,
"help": 200,
).Informace („Golang pro“)

Když spustíme tento program, můžeme vidět následující výstup:

Nyní je to užitečné i barevné!

Různé úrovně protokolování

Nyní zkusíme další příklad, který ukáže použití různých úrovní protokolování dostupných v Logrusu a obecně. Oni jsou:

Zkusme vytvořit program a uvidíme, jak se tyto úrovně protokolu liší, když se objeví v našem programu:

balíček hlavní
import (
přihlásit "github.com / Sirupsen / logrus "
)
func main ()
log.WithFields (log.Pole
"website": "linuxhint.com ",
"awesome": 100,
).Info („Informační zpráva Golang pro“)
log.WithFields (log.Pole
"website": "linuxhint.com ",
"awesome": 100,
).Varovat („VAROVÁNÍ zprávy Golang pro“)
log.WithFields (log.Pole
"website": "linuxhint.com ",
"awesome": 100,
).Fatální („zpráva Golang pro FATAL“)
log.WithFields (log.Pole
"website": "linuxhint.com ",
"awesome": 100,
).Panika („zpráva Golang pro PANIC“)
log.WithFields (log.Pole
"website": "linuxhint.com ",
"awesome": 100,
).Debug („zpráva Golang pro DEBUG“)

Když spustíme tento program, uvidíme následující výstup:

Něco si všiml? Příkazy protokolu za příkazem Fatal se ani neobjeví v našem výstupu. Je to proto, že jakmile dojde k závažné chybě, zastaví se provádění programu v Golangu.

Pojďme upravit pořadí těchto příkazů a zkontrolovat, zda jsou pozorovány také některé změny ve výstupu:

Tentokrát dokonce úroveň Panic Log reagovala stejným způsobem, ale výstup byl velmi odlišný a podrobný.

Na úrovni Panic logu se ujistíte, že na výstupu v konzole je také vytištěno dostatek informací o hostitelském počítači, aby bylo možné práci ladit.

Jednodušší způsob vytváření protokolů

Ve výše uvedených hovorech byly protokoly docela podrobné a také s metadaty. Existuje jednodušší způsob protokolování zpráv. Zkusme to teď:

balíček hlavní
import (
přihlásit "github.com / Sirupsen / logrus "
)
func main ()
log.Debug („Ladění dat zde.")
log.Informace („Zprávy pro běžné informace“)
log.Varovat („Měli byste se podívat na toto varování!")
log.Chyba („Něco se nezdařilo, ale program bude pokračovat.")
// Volá os.Po přihlášení ukončete (1)
log.Fatální („Odcházím.")
// Po přihlášení volá panic ()
log.Panic („I will not be printed :(“)

Zde je výstup pro program:

Chování protokolování bylo stejné, ale tentokrát se daly snadno provést pouze v jednom řádku.

Závěr

V tomto příspěvku jsme studovali jednoduché, ale užitečné příklady toho, jak můžeme v našich aplikacích protokolovat důležité zprávy s různou závažností a výřečností pomocí balíčku Logrus s Golang.

Hry Jak zobrazit počítadlo FPS v linuxových hrách
Jak zobrazit počítadlo FPS v linuxových hrách
Hraní na Linuxu získalo velký tlak, když společnost Valve v roce 2012 oznámila podporu systému Linux pro klienta Steam a jejich hry. Od té doby se mno...
Hry Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Úvod do hry Civilization 6 je moderní pojetí klasického konceptu představeného v sérii her Age of Empires. Myšlenka byla docela jednoduchá; začali bys...
Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...