golangas

„Golang Logrus“ paketas

„Golang Logrus“ paketas

Šioje „Golang“ paketo „Logrus“ pamokoje išnagrinėsime įvairius pavyzdžius, kaip efektyviai atlikti registravimą „Go“ sistemoje, ir pamatysime, kiek svarbūs žurnalai yra „Go“ programavimo kalboje. Mes pradėsime dabar.

Pradedant nuo „Go“

Čia yra katalogų struktūra, kurią sukūriau savo „Hello World“ programai:

Čia yra programa, kurią sukūrėme:

paketo pagrindinis
importuoti „fmt“
func main ()
fmt.Printf ("Sveiki, pasauli.\ n ")

Mes galime paleisti pirmiau nurodytą programą naudodami šią komandą:

eik bėgti labas.eik

Kai paleisime šią komandą, pamatysite išvestį:

Dabar tai atrodo gerai. Pereikime prie savo pagrindinės darbotvarkės.

„Logrus“ paketas Golange

Norėdami pradėti naudoti „Logrus“ paketą „Go“ programoje, turime gauti tai. Paleiskite šią komandą:

eik gauti -t github.com / Sirupsen / logrus

Pradėdami naudoti šį paketą „IntelliJ“, matome šią klaidą, kurią galime išspręsti vienu paspaudimu:

Gavę pakuotę, galime pradėti ja naudotis. Pradėkime nuo paprastos programos.

Pagrindinis medienos ruoša naudojant „Logrus“

Pradėsime nuo labai paprasto INFO lygio registravimo pavyzdžio. Prisijungti galima naudojant eilutės pranešimus ir metaduomenis raktų ir reikšmių porų pavidalu, kurie atrodo vienodi.

paketo pagrindinis
importas (
žurnalas "github.com / Sirupsen / logrus “
)
func main ()
žurnalas.WithFields (žurnalas.Laukai
„svetainė“: „linuxhint“.com ",
„nuostabus“: 100,
„pagalba“: 200,
).Informacija („Golang pro“)

Vykdydami šią programą galime pamatyti tokį išėjimą:

Dabar tai naudinga ir spalvinga!

Įvairūs registravimo lygiai

Dabar mes išbandysime kitą pavyzdį, kuris parodys įvairių „Logrus“ prieinamų registravimo lygių naudojimą ir apskritai. Jie yra:

Pabandykime sukurti programą ir pamatyti, kaip šie žurnalo lygiai skiriasi, kai jie atsiranda mūsų programoje:

paketo pagrindinis
importas (
žurnalas "github.com / Sirupsen / logrus “
)
func main ()
žurnalas.WithFields (žurnalas.Laukai
"svetainė": "linuxhint.com ",
„nuostabus“: 100,
).Informacija („Golang pro INFO pranešimas“)
žurnalas.WithFields (žurnalas.Laukai
„svetainė“: „linuxhint“.com ",
„nuostabus“: 100,
).Įspėti („Golang pro WARN pranešimas“)
žurnalas.WithFields (žurnalas.Laukai
„svetainė“: „linuxhint“.com ",
„nuostabus“: 100,
).Fatal („Golang pro FATAL pranešimas“)
žurnalas.WithFields (žurnalas.Laukai
„svetainė“: „linuxhint“.com ",
„nuostabus“: 100,
).Panika („Golang pro PANIC pranešimas“)
žurnalas.WithFields (žurnalas.Laukai
„svetainė“: „linuxhint“.com ",
„nuostabus“: 100,
).Derinti („Golang pro DEBUG pranešimas“)

Vykdydami šią programą pamatysime tokį išėjimą:

Kažką pastebėjo? Žurnalo sakiniai po Fatal pareiškimo net nerodomi mūsų išvestyje. Taip yra todėl, kad kai tik gaunama lemtinga klaida, programos vykdymas sustabdomas „Golang“.

Pakeiskime šių sakinių tvarką ir patikrinkime, ar pastebimi tam tikri išvesties pokyčiai:

Šį kartą net „Panic Log“ lygis reagavo tuo pačiu būdu, tačiau išvestis buvo labai skirtinga ir išsami.

Naudodami panikos žurnalo lygį, įsitikinkite, kad konsolės išvestyje taip pat atspausdinta pakankamai informacijos apie pagrindinę mašiną, kad darbą būtų galima derinti.

Paprastesnis žurnalų sudarymo būdas

Ankstesniuose skambučiuose žurnalai buvo gana išsamūs ir su metaduomenimis. Yra paprastesnis būdas registruoti pranešimus. Išbandykime tai dabar:

paketo pagrindinis
importas (
žurnalas "github.com / Sirupsen / logrus “
)
func main ()
žurnalas.Derinti ("Derinti duomenis čia.")
žurnalas.Informacija („Bendros informacijos pranešimai“)
žurnalas.Įspėti ("Turėtumėte pažvelgti į šį įspėjimą!")
žurnalas.Klaida („Kažkas nepavyko, bet programa bus tęsiama.")
// Skambina os.Po prisijungimo išeikite iš (1)
žurnalas.Lemtinga („Aš išeinu.")
// Po prisijungimo iškviečia paniką ()
žurnalas.Panika („Manęs nespausdins :(“)

Štai programos išvestis:

Kirtimas buvo toks pats, tačiau šį kartą juos buvo lengva padaryti tik vienoje eilutėje.

Išvada

Šiame įraše mes ištyrėme paprastus, bet naudingus pavyzdžius, kaip galime užregistruoti svarbius įvairaus sunkumo ir daugialypiškumo pranešimus savo programose, naudodami „Logrus“ paketą su „Golang“.

Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....
„AppyMouse“ ekrano „Trackpad“ ir pelės žymeklis, skirtas „Windows“ tabletėms
Planšetinių kompiuterių vartotojai dažnai praleidžia pelės žymeklį, ypač kai įprasta naudoti nešiojamus kompiuterius. Jutiklinio ekrano išmanieji tele...