Cara log masuk golang

PHPz
Lepaskan: 2023-04-23 17:15:57
asal
1116 orang telah melayarinya

Golang ialah bahasa pengaturcaraan cekap yang lebih unggul daripada bahasa lain dalam banyak aspek. Pengelogan adalah tugas kritikal apabila ia datang untuk merekodkan gelagat aplikasi anda. Di Golang, pengelogan adalah penting untuk menyahpepijat dan menguji aplikasi.

Artikel ini akan memperkenalkan kaedah pembalakan di Golang. Kami akan membincangkan pembalak dalam perpustakaan standard serta perpustakaan pihak ketiga.

Melog menggunakan perpustakaan standard

Perpustakaan standard Golang mempunyai pakej yang dipanggil "log", yang menyediakan cara pengelogan yang mudah. Pakej ini menyediakan tiga peringkat pengelogan: Maklumat, Amaran dan Ralat.

Mula-mula anda perlu mengimport logger:

import "log"
Salin selepas log masuk
  1. Rekod maklumat

Log maklumat dengan memanggil fungsi "log.Println()" . Ia log mesej ke output ralat standard.

log.Println("Record this info")
Salin selepas log masuk

Kod ini akan mengeluarkan maklumat yang serupa dengan:

2019/11/22 20:04:14 Record this info
Salin selepas log masuk
  1. Log amaran

Dengan memanggil "log.Println()" berfungsi untuk mencatat amaran. Ia mencatatkan amaran kepada ralat standard dan menambah "WARN" pada mesej.

log.Println("WARN: Warning message here")
Salin selepas log masuk

Kod ini akan mengeluarkan mesej yang serupa dengan:

2019/11/22 20:05:20 WARN: Warning message here
Salin selepas log masuk
  1. Log ralat

Dengan memanggil "log.Println() " berfungsi untuk log ralat. Ia mencatatkan ralat kepada ralat standard dan menambahkan "ERROR" pada mesej.

log.Panicln("ERROR: error message here")
Salin selepas log masuk

Kod ini akan mengeluarkan maklumat yang serupa dengan yang berikut:

2019/11/22 20:06:28 ERROR: error message here
panic: ERROR: error message here

goroutine 1 [running]:
log.Panicln(0xc42000e170, 0x1, 0x1)
        /usr/local/go/src/log/log.go:341 +0xc4
main.main()
        /root/go/src/main.go:10 +0x55
exit status 2
Salin selepas log masuk

Kod di atas akan menyebabkan atur cara panik. Apabila ralat berlaku, atur cara akan ditamatkan serta-merta selepas mengelog ralat dan mengeluarkan maklumat ralat terperinci.

Menggunakan perpustakaan pihak ketiga untuk mengelog

Fungsi pengelogan yang disediakan oleh perpustakaan standard mempunyai hadnya. Anda boleh menggunakan perpustakaan pihak ketiga untuk melanjutkan keupayaan pengelogan Memandangkan perpustakaan pengelogan pihak ketiga menyediakan ciri yang kaya, ia lebih praktikal untuk penyahpepijatan dan ujian aplikasi.

Di sini kita mengambil perpustakaan kelas "go-logging" sebagai contoh. Ia boleh merekodkan berbilang peringkat log (Maklumat, Amaran, Ralat dan Nyahpepijat).

Mula-mula pasang "go-logging":

go get github.com/op/go-logging
Salin selepas log masuk

Import perpustakaan:

import (
     "github.com/op/go-logging"
     "os"
)
Salin selepas log masuk
  1. Mulakan logger

Gunakan fungsi "logging.MustGetLogger()" untuk memulakan logger. Anda boleh menentukan nama sebagai parameter untuk mengenal pasti antara berbilang pembalak.

var log = logging.MustGetLogger("example")
Salin selepas log masuk
  1. Tetapkan tahap log

Selepas memulakan pembalak, anda boleh menggunakan fungsi "log.SetLevel()" untuk menetapkan tahap log. Fungsi ini menerima parameter pengelogan jenis. Tahap (termasuk Nyahpepijat, Maklumat, Amaran dan Ralat).

logging.SetLevel(logging.DEBUG, "example")
Salin selepas log masuk
  1. Buat logger fail

Buat logger fail dengan menggunakan fungsi "os.Create()":

logFile, err := os.Create("app.log")
if err != nil {
     log.Error("Cannot create log file", err)
}
defer logFile.Close()
Salin selepas log masuk
  1. Buat Pemformat

Buat pemformat untuk memformat entri dalam fail log:

formatter := logging.MustStringFormatter(
"%{time:2006/01/02 15:04:05.000} %{shortfile} %{level:.6s} %{message}")
Salin selepas log masuk
  1. Pelog Fail Konfigurasi

Buat pembalak fail melalui fungsi "logging.NewBackendFormatter()":

backend := logging.NewBackendFormatter(
 logging.NewLogBackend(logFile, "", 0),
 formatter)
Salin selepas log masuk
  1. Tambahkan logger fail pada logger

Tambah Sebelum pembalak fail, anda perlu untuk membalut pembalak fail ke bahagian belakang:

logging.SetBackend(backend)
Salin selepas log masuk

atau tambahkan berbilang pembalak:

logging.SetBackend(logging.MultiLogger(
     logging.MultiWriter(os.Stdout, logFile),
     logging.MultiWriter(os.Stderr, logFile),
))
Salin selepas log masuk
  1. Rekod log

Anda kini boleh " log" maklumat log menggunakan tahap yang dilalui melalui pembalak:

log.Infof("This is a info message with %d", 123)
log.Warningf("This is a warning message with %s", "param")
log.Errorf("This is a error message with %v", err)
Salin selepas log masuk

Kod di atas akan memformat log semasa ia dilog dan kemudian menulisnya ke fail log.

Ringkasan:

Pustaka standard Golang menyediakan kaedah pengelogan yang mudah. Walau bagaimanapun, menggunakan pustaka pihak ketiga memberi anda kawalan yang lebih besar ke atas tingkah laku dan format pembalak. Dengan menggunakan pustaka "log", anda boleh log berbilang peringkat log dan menulisnya ke fail.

Atas ialah kandungan terperinci Cara log masuk golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan