Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mendapatkan Nombor Baris Ralat dalam Kod Go Saya?

Bagaimanakah Saya Boleh Mendapatkan Nombor Baris Ralat dalam Kod Go Saya?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 18:40:19293semak imbas

How Can I Get the Line Number of Errors in My Go Code?

Mendapatkan semula Nombor Baris Ralat di Golang

Apabila anda menghadapi ralat dalam kod Golang anda, mengelognya untuk tujuan nyahpepijat adalah penting. Walau bagaimanapun, log.Fatal sahaja tidak memberikan nombor baris tempat ralat berlaku. Ini boleh menyukarkan pengesanan punca ralat.

Untuk menangani isu ini, anda boleh mengubah suai bendera log untuk memasukkan maklumat nombor baris. Begini caranya:

  • Pelog Tersuai: Anda boleh mencipta pembalak tersuai dan menetapkan medan Benderanya untuk memasukkan format nombor baris yang dikehendaki (Llongfile untuk laluan penuh, Lshortfile untuk fail sahaja nama).
myLogger := log.New(os.Stdout, "", log.LstdFlags|log.Lshortfile)
  • Lalai Logger: anda juga boleh mengubah suai Bendera pembalak lalai untuk memasukkan maklumat nombor baris:
log.SetFlags(log.LstdFlags | log.Lshortfile)

Dengan menetapkan bendera ini, output log kini akan menyertakan baris kod yang menyinggung perasaan :

import (
    "log"
)

func main() {
    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.Fatal("Error occurred on line 14 in file my_file.go")
}

Output:

2022/09/20 13:52:15 my_file.go:14: Error occurred on line 14 in file my_file.go

Ini menyediakan mesej ralat yang lebih terperinci, menjadikannya lebih mudah untuk mengenal pasti dan membetulkan isu asas. Ambil perhatian bahawa kaedah ini mencetak nombor baris hanya sekiranya berlaku ralat maut (cth., log.Fatal). Untuk tahap log lain (cth., log.Error), anda boleh menggunakan debug.PrintStack() untuk mencetak tindanan panggilan penuh.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nombor Baris Ralat dalam Kod Go Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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