Rumah > masalah biasa > Apakah kegunaan bahasa log masuk go?

Apakah kegunaan bahasa log masuk go?

DDD
Lepaskan: 2023-06-13 13:38:11
asal
1358 orang telah melayarinya

Penggunaan log bahasa Go termasuk: 1. Output maklumat teks, seperti menggunakan fungsi "Println()" dalam pakej log untuk mengeluarkan maklumat teks; 2. Output nilai pembolehubah, seperti menggunakan "Printf () dalam pakej log )" fungsi mengeluarkan nilai pembolehubah; 3. Rekod maklumat ralat, seperti menggunakan fungsi "Printf()" dalam pakej log untuk merekod maklumat ralat; 4. Tetapkan awalan log, seperti menggunakan "SetPrefix()" dalam pakej log untuk menetapkan awalan log.

Apakah kegunaan bahasa log masuk go?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi go1.20, komputer Dell g3.

Bahasa Go ialah bahasa pengaturcaraan yang dibangunkan oleh Google dan digunakan secara meluas dalam pengaturcaraan rangkaian, pengaturcaraan serentak, pengkomputeran awan dan bidang lain. Dalam bahasa Go, menggunakan log untuk merekod ralat, maklumat dan maklumat penyahpepijatan semasa program berjalan adalah bahagian penting. Terdapat banyak perpustakaan log dalam bahasa Go, yang biasa digunakan termasuk log, pkglog, zap, logrus, seelog, dll.

Dalam bahasa Go, pakej log disediakan dalam pustaka standard, yang boleh digunakan untuk merekod maklumat log.

Berikut ialah beberapa kaedah penggunaan biasa:

1 Output maklumat teks

log.Println("hello world")
Salin selepas log masuk

Hasil pelaksanaan:

2022/01/20 21:06:34 hello world
Salin selepas log masuk

Output Log. maklumat termasuk masa output dan kandungan maklumat, dan anda boleh menyemak masa dan kandungan setiap output dengan mudah.

2. Keluarkan nilai pembolehubah

a := 10
log.Printf("a的值为:%d", a)
Salin selepas log masuk

Hasil pelaksanaan:

2022/01/20 21:09:25 a的值为:10
Salin selepas log masuk

3 Rekod mesej ralat

if err != nil {
log.Printf("发生了一个错误:%v", err)
}
Salin selepas log masuk

Hasil pelaksanaan:

2022/01/20 21:10:09 发生了一个错误:open test.txt: no such file or directory
Salin selepas log masuk
.

4. Tetapkan awalan log

log.SetPrefix("[prefix]")
log.Printf("hello world")
Salin selepas log masuk

Hasil pelaksanaan:

[prefix]2022/01/20 21:11:21 hello world
Salin selepas log masuk

Menetapkan awalan log boleh membezakan sumber maklumat log yang berbeza dan memudahkan analisis log masa hadapan.

Sambungan:

Tetapkan tahap log

Apabila mengelog, kadangkala anda hanya perlu merekodkan beberapa maklumat yang lebih penting, tanpa merekod semua maklumat log. Oleh itu, penetapan tahap log adalah sangat diperlukan.

Dalam bahasa Go, pakej log disediakan dalam pustaka standard, tetapi ia tidak menyediakan fungsi untuk menetapkan tahap log. Secara umumnya, kita boleh menyesuaikan pakej log dan melaksanakan fungsi menetapkan tahap log dengan merangkum fungsi dalam pakej log.

Berikut ialah pelaksanaan mudah:

type LogLevel uint8
const (
DEBUG LogLevel = iota + 1
   INFO
   WARN
   ERROR
   FATAL
)
func Debug(v ...interface{}) {
logPrint(DEBUG, v...)
}
func Info(v ...interface{}) {
logPrint(INFO, v...)
}
func Warn(v ...interface{}) {
logPrint(WARN, v...)
}
func Error(v ...interface{}) {
logPrint(ERROR, v...)
}
func Fatal(v ...interface{}) {
logPrint(FATAL, v...)
}
func logPrint(lv LogLevel, v ...interface{}) {
if lv < LogLevel) {
 return
}
log.Println(v...)
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan jenis LogLevel untuk mewakili tahap log. Dengan menyesuaikan fungsi Nyahpepijat, Maklumat, Amaran, Ralat dan Fatal, anda boleh mengeluarkan maklumat log apabila tahap log lebih tinggi daripada tahap yang ditetapkan.

Output ke fail

Jika anda mengeluarkan maklumat log terus ke terminal, walaupun ia mudah, ia tidak mudah untuk dilihat. Oleh itu, amalan yang lebih biasa untuk mengeluarkan maklumat log ke fail.

Berikut ialah pelaksanaan mudah:

func logToFile() {
file, err := os.Create("log.txt")
if err != nil {
fmt.Println("创建文件失败:", err)
return
}
defer file.Close()
log.SetOutput(file)
log.Println("hello world")
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mencipta fail bernama log.txt dan mengeluarkan maklumat log ke fail. Dengan menetapkan log.SetOutput(fail), maklumat log boleh dikeluarkan kepada fail.

Ringkasan

Dalam bahasa Go, menggunakan pakej log untuk merekod ralat, maklumat dan maklumat penyahpepijatan semasa program berjalan adalah bahagian penting. Terdapat banyak perpustakaan log dalam bahasa Go, yang biasa digunakan termasuk log, pkglog, zap, logrus, seelog, dll.

Apabila menggunakan pakej log, anda boleh merekodkan pelbagai jenis maklumat log melalui fungsi seperti log.Printf, log.Println, log.SetPrefix, dsb., dan anda boleh menetapkan tahap log dengan menyesuaikan log level. Maklumat log juga boleh dioutputkan ke fail untuk memudahkan tontonan dan analisis

Atas ialah kandungan terperinci Apakah kegunaan bahasa log masuk go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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