golang

Paket Golang Logrus

Paket Golang Logrus

Dalam pelajaran tentang paket Logrus di Golang ini, kita akan mempelajari berbagai contoh tentang seberapa efektif Logging dapat dilakukan di Go dan melihat betapa pentingnya log dalam bahasa pemrograman Go. Kita akan mulai sekarang.

Dimulai dengan Go

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

Berikut adalah program yang kami buat:

paket utama
impor "fmt"
fungsi utama()
fmt.Printf("Halo dunia.\n")

Kita dapat menjalankan program di atas dengan perintah berikut:

pergi lari halo.Pergilah

Setelah kami menjalankan perintah ini, berikut adalah output yang akan Anda lihat:

Sekarang itu terlihat bagus. Mari beralih ke agenda utama kita.

Paket Logrus di Golang

Untuk mulai menggunakan paket Logrus di program Go, kita harus Dapatkan saya t. Jalankan perintah berikut:

dapatkan -t github.com/Sirupsen/logrus

Ketika kami mulai menggunakan paket ini di IntelliJ, kami melihat kesalahan ini yang dapat kami atasi dalam satu klik:

Setelah Anda mendapatkan paketnya, kami dapat mulai menggunakannya. Mari kita mulai dengan program sederhana.

Pencatatan Dasar dengan Logrus

Kami akan mulai dengan contoh logging level INFO yang sangat mendasar. Logging dapat dilakukan dengan pesan String dan meta-data dalam bentuk pasangan nilai kunci yang tampak sama like.

paket utama
impor (
log "github.com/Sirupsen/logrus"
)
fungsi utama()
catatan.WithFields(log.Bidang
"situs web": "linuxhint.com",
"luar biasa": 100,
"bantuan":   200,
).Info("Golang pro")

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

Nah, itu berguna dan penuh warna!

Berbagai Level Pencatatan

Sekarang, kita akan mencoba contoh lain yang akan menunjukkan penggunaan berbagai level Logging yang tersedia di Logrus dan secara umum. Mereka:

Mari kita coba membuat program dan melihat perbedaan level log ini saat muncul di program kita:

paket utama
impor (
log "github.com/Sirupsen/logrus"
)
fungsi utama()
catatan.WithFields(log.Bidang
"situs web": "linuxhint.com",
"luar biasa": 100,
).Info("Pesan INFO Golang pro")
catatan.WithFields(log.Bidang
"situs web": "linuxhint.com",
"luar biasa": 100,
).Warn("Golang pro WARN pesan")
catatan.WithFields(log.Bidang
"situs web": "linuxhint.com",
"luar biasa": 100,
).Fatal("Pesan Golang pro FATAL")
catatan.WithFields(log.Bidang
"situs web": "linuxhint.com",
"luar biasa": 100,
).Panic("Pesan Golang pro PANIK")
catatan.WithFields(log.Bidang
"situs web": "linuxhint.com",
"luar biasa": 100,
).Debug("Pesan GOlang pro DEBUG")

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

Melihat sesuatu? Pernyataan log setelah pernyataan Fatal bahkan tidak muncul di output kami. Ini karena begitu kesalahan Fatal diterima, eksekusi program berhenti di Golang.

Mari kita ubah urutan pernyataan ini dan periksa apakah beberapa perubahan dalam output juga diamati:

Kali ini, bahkan level Panic Log bereaksi dengan cara yang sama tetapi outputnya sangat berbeda dan detail.

Dengan tingkat log Panic, Anda memastikan bahwa informasi yang cukup tentang mesin host juga dicetak di output di konsol sehingga pekerjaan dapat di-debug.

Cara yang lebih sederhana untuk membuat Log

Dalam panggilan di atas, Log cukup detail dan dengan metadata juga. Ada cara yang lebih mudah untuk mencatat pesan Anda. Mari kita coba ini sekarang:

paket utama
impor (
log "github.com/Sirupsen/logrus"
)
fungsi utama()
catatan.Debug("Men-debug data di sini.")
catatan.Info("Pesan untuk info umum")
catatan.Warn("Anda harus melihat peringatan ini!")
catatan.Error("Ada yang gagal tetapi program akan dilanjutkan.")
// Memanggil os.Keluar (1) setelah masuk
catatan.Fatal("Aku pergi.")
// Memanggil panic() setelah login
catatan.Panic("Saya tidak akan dicetak :(")

Berikut adalah output untuk programnya:

Perilaku untuk logging sama tetapi kali ini, mereka mudah dibuat hanya dalam satu baris.

Kesimpulan

Dalam posting ini, kami mempelajari contoh sederhana namun berguna tentang bagaimana kami dapat mencatat pesan penting dengan tingkat keparahan dan verbositas yang berbeda dalam aplikasi kami menggunakan paket Logrus dengan Golang.

OpenTTD vs Simutrans
Membuat simulasi transportasi Anda sendiri bisa menyenangkan, santai, dan sangat menarik. Itulah mengapa Anda perlu memastikan bahwa Anda mencoba game...
Tutorial OpenTTD
OpenTTD adalah salah satu game simulasi bisnis paling populer di luar sana. Dalam game ini, Anda perlu membuat bisnis transportasi yang luar biasa. Na...
SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...