U ovoj lekciji o paketu Logrus u Golangu proučit ćemo razne primjere o tome kako se učinkovita prijava može izvesti u programu Go i vidjeti koliko su zapisi važni u programskom jeziku Go. Sad ćemo započeti.
Počevši od Go
Evo strukture direktorija koju sam izradio za svoj program Hello World:
Evo programa koji smo stvorili:
paket glavniuvoz "fmt"
func main ()
fmt.Printf ("Zdravo, svijete.\ n ")
Gornji program možemo pokrenuti sljedećom naredbom:
idi trči zdravo.ićiJednom kada pokrenemo ovu naredbu, evo izlaza koji ćete vidjeti:
Sad to izgleda dobro. Prijeđimo na naš glavni dnevni red.
Logrus paket u Golangu
Da bismo počeli koristiti paket Logrus u programu Go, moramo dobiti to. Pokrenite sljedeću naredbu:
idi uzmi -t github.com / Sirupsen / logrusKad počnemo koristiti ovaj paket u IntelliJ-u, vidimo ovu pogrešku koju možemo riješiti jednim klikom:
Kad dobijete paket, možemo ga početi koristiti. Počnimo s jednostavnim programom.
Osnovna prijava s Logrusom
Započet ćemo s vrlo osnovnim primjerom bilježenja na razini INFO-a. Evidentiranje se može obaviti pomoću String poruka i metapodataka u obliku parova ključ / vrijednost koji izgledaju isto.
paket glavniuvoz (
zapisnik "github.com / Sirupsen / logrus "
)
func main ()
zapisnik.WithFields (log.Polja
"web stranica": "linuxhint.com ",
"super": 100,
"pomoć": 200,
).Informacije ("Golang pro")
Kada pokrenemo ovaj program, možemo vidjeti sljedeći izlaz:
Sad je to i korisno i šareno!
Razne razine sječe
Sada ćemo pokušati s još jednim primjerom koji će pokazati upotrebu različitih razina bilježenja dostupnih u Logrusu i općenito. Oni su:
- Informacije
- Upozorenje
- Kobno
- Otklanjanje pogrešaka
- Panika
Pokušajmo izgraditi program i vidjeti kako se razlikuju ove razine dnevnika kada se pojave u našem programu:
paket glavniuvoz (
zapisnik "github.com / Sirupsen / logrus "
)
func main ()
zapisnik.WithFields (log.Polja
"web stranica": "linuxhint.com ",
"super": 100,
).Informacije ("Golang pro INFO poruka")
zapisnik.WithFields (log.Polja
"web stranica": "linuxhint.com ",
"super": 100,
).Upozorenje ("Golang pro WARN poruka")
zapisnik.WithFields (log.Polja
"web stranica": "linuxhint.com ",
"super": 100,
).Kobno ("Golang pro FATAL poruka")
zapisnik.WithFields (log.Polja
"web stranica": "linuxhint.com ",
"super": 100,
).Panika ("Golang pro PANIC poruka")
zapisnik.WithFields (log.Polja
"web stranica": "linuxhint.com ",
"super": 100,
).Otklanjanje pogrešaka ("Golang pro DEBUG poruka")
Kada pokrenemo ovaj program, vidjet ćemo sljedeći izlaz:
Nešto primijetio? Izjave dnevnika nakon izraza Fatal čak se ne pojavljuju u našem izlazu. To je zato što čim se primi fatalna pogreška, izvršavanje programa zaustavlja se u Golangu.
Izmijenimo redoslijed ovih izjava i provjerimo jesu li primijećene i neke promjene u izlazu:
Ovaj put je čak i razina paničnog dnevnika reagirala na isti način, ali izlaz je bio vrlo različit i detaljan.
Pomoću razine Panic log osiguravate da se dovoljno podataka o glavnom računalu također ispiše u izlazu na konzoli tako da se rad može otkloniti.
Jednostavniji način izrade dnevnika
U gornjim pozivima, Dnevnici su bili prilično detaljni i s metapodacima. Postoji lakši način za prijavu vaših poruka. Pokušajmo sada:
paket glavniuvoz (
zapisnik "github.com / Sirupsen / logrus "
)
func main ()
zapisnik.Otklanjanje pogrešaka ("Ovdje se pronalaze podaci za otklanjanje pogrešaka.")
zapisnik.Informacije ("Poruke za uobičajene informacije")
zapisnik.Warn ("Trebali biste pogledati ovo upozorenje!")
zapisnik.Pogreška ("Nešto nije uspjelo, ali program će se nastaviti.")
// Poziva os.Izlaz (1) nakon prijave
zapisnik.Fatalno ("Odlazim.")
// Poziva paniku () nakon prijave
zapisnik.Panika ("Neću biti tiskan :(")
Evo rezultata za program:
Ponašanje kod bilježenja bilo je isto, ali ovaj put bilo ih je jednostavno izvesti u samo jednom retku.
Zaključak
U ovom postu proučavali smo jednostavne, ali korisne primjere kako možemo evidentirati važne poruke različite težine i opsežnosti u našim aplikacijama pomoću paketa Logrus s Golangom.