golang

Pakej Golang Logrus

Pakej Golang Logrus

Dalam pelajaran ini mengenai pakej Logrus di Golang, kami akan mengkaji pelbagai contoh mengenai seberapa berkesan Logging dapat dilakukan di Go dan melihat betapa pentingnya log dalam bahasa pengaturcaraan Go. Kami akan bermula sekarang.

Bermula dengan Go

Berikut adalah struktur direktori yang saya buat untuk program Hello World:

Inilah program yang kami buat:

pakej utama
import "fmt"
func utama ()
fmt.Printf ("Helo, dunia.\ n ")

Kita boleh menjalankan program di atas dengan arahan berikut:

pergi lari hello.pergi

Sebaik sahaja kami menjalankan perintah ini, berikut adalah output yang akan anda lihat:

Sekarang kelihatan baik. Mari beralih ke agenda utama kami.

Pakej Logrus di Golang

Untuk mula menggunakan pakej Logrus dalam program Go, kita mesti dapatkan ia. Jalankan arahan berikut:

pergi dapatkan -t github.com / Sirupsen / logrus

Apabila kami mula menggunakan pakej ini di IntelliJ, kami melihat ralat ini yang dapat kami atasi dengan satu klik:

Sebaik sahaja anda mendapat bungkusan, kami boleh mula menggunakannya. Mari mulakan dengan program sederhana.

Pembalakan Asas dengan Logrus

Kita akan mulakan dengan contoh pembalakan tahap INFO yang sangat asas. Pembalakan boleh dilakukan dengan mesej String dan meta-data dalam bentuk pasangan nilai-kunci yang muncul sama.

pakej utama
mengimport (
log "github.com / Sirupsen / logrus "
)
func utama ()
balak.WithFields (log.Padang
"laman web": "linuxhint.com ",
"hebat": 100,
"pertolongan": 200,
).Maklumat ("Golang pro")

Semasa kita menjalankan program ini, kita dapat melihat output berikut:

Sekarang itu berguna dan berwarna-warni!

Pelbagai Tahap Pembalakan

Sekarang, kami akan mencuba contoh lain yang akan menunjukkan penggunaan pelbagai tahap Pembalakan yang terdapat di Logrus dan secara umum. Mereka adalah:

Mari cuba membina program dan lihat bagaimana tahap log ini berbeza ketika mereka muncul dalam program kami:

pakej utama
mengimport (
log "github.com / Sirupsen / logrus "
)
func utama ()
balak.WithFields (log.Padang
"laman web": "linuxhint.com ",
"hebat": 100,
).Maklumat ("Mesej INFO pro Golang")
balak.WithFields (log.Padang
"laman web": "linuxhint.com ",
"hebat": 100,
).Beri amaran ("Mesej WARN pro Golang")
balak.WithFields (log.Padang
"laman web": "linuxhint.com ",
"hebat": 100,
).Fatal ("Mesej FATAL Golang pro")
balak.WithFields (log.Padang
"laman web": "linuxhint.com ",
"hebat": 100,
).Panik ("Mesej PANIC Golang pro")
balak.WithFields (log.Padang
"laman web": "linuxhint.com ",
"hebat": 100,
).Debug ("Mesej DEBUG Golang pro")

Semasa kita menjalankan program ini, kita akan melihat output berikut:

Memerhatikan sesuatu? Pernyataan log selepas pernyataan Fatal bahkan tidak muncul dalam output kami. Ini kerana sebaik sahaja kesalahan Fatal diterima, pelaksanaan program berhenti di Golang.

Mari ubah susunan pernyataan ini dan periksa sama ada beberapa perubahan dalam output juga diperhatikan:

Kali ini, walaupun tahap Panic Log bertindak balas dengan cara yang sama tetapi outputnya sangat berbeza dan terperinci.

Dengan tahap log Panik, anda memastikan bahawa maklumat yang mencukupi mengenai mesin hos juga dicetak dalam output di konsol sehingga kerja tersebut dapat didebug.

Cara yang lebih mudah untuk membuat Log

Dalam panggilan di atas, Log cukup terperinci dan juga metadata. Terdapat cara yang lebih mudah untuk log mesej anda. Mari cuba sekarang:

pakej utama
mengimport (
log "github.com / Sirupsen / logrus "
)
func utama ()
balak.Debug ("Data penyahpepijatan di sini.")
balak.Maklumat ("Mesej untuk maklumat biasa")
balak.Peringatkan ("Anda harus melihat amaran ini!")
balak.Ralat ("Sesuatu gagal tetapi program akan diteruskan.")
// Panggilan os.Keluar (1) setelah log
balak.Fatal ("Saya akan pergi.")
// Memanggil panik () setelah log
balak.Panik ("Saya tidak akan dicetak :(")

Berikut adalah output untuk program ini:

Tingkah laku untuk pembalakan adalah sama tetapi kali ini, mereka mudah dibuat hanya dalam satu baris.

Kesimpulannya

Dalam catatan ini, kami mengkaji contoh-contoh yang mudah tetapi berguna mengenai bagaimana kami dapat log mesej penting dengan keparahan dan ketajaman yang berbeza dalam aplikasi kami menggunakan paket Logrus dengan Golang.

Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...
SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...