log
แพ็กเกจ log มาตรฐานในภาษา Go ดำเนินการบันทึกอย่างง่าย
go
func main() {
log.Println("บันทึก")
log.Panicln("บันทึก panic")
log.Fatalln("บันทึกข้อผิดพลาด")
}Fatal จะเรียก os.exit(1) หลังจากเขียนข้อมูลบันทึกแล้ว panic จะโยน panic
คำนำหน้า
go
func (l *Logger) Prefix() string //รับคำนำหน้า
func (l *Logger) SetPrefix(prefix string) //ตั้งค่าคำนำหน้าตัวอย่าง
go
func main() {
log.SetPrefix("[main]")
log.Println("บันทึก")
log.Panicln("บันทึก panic")
}Flag
วิธีการ
go
func (l *Logger) Flags() int //เข้าถึง
func (l *Logger) SetFlags(flag int) //ตั้งค่าค่าคงที่
go
const (
Ldate = 1 << iota // วันที่
Ltime // เวลา
Lmicroseconds // ไมโครวินาที
Llongfile // ชื่อไฟล์เต็ม
Lshortfile // ชื่อไฟล์สั้น
LUTC // โซนเวลา
Lmsgprefix // คำนำหน้า
LstdFlags = Ldate | Ltime // ค่าเริ่มต้น
)ตัวอย่าง
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("บันทึก")
log.Panicln("บันทึก panic")
}แน่นอนสามารถใช้ log.SetOutput(w io.Writer) เพื่อตั้งค่าเส้นทางการส่งออกของบันทึก还可以通过 New วิธีการสร้างอินสแตนซ์ของตัวเอง
go
func New(out io.Writer, prefix string, flag int) *Loggerสรุปแล้ว แพ็กเกจ log มาตรฐานจัดเตรียมฟังก์ชันไม่สมบูรณ์พอ เรามักจะใช้แพ็กเกจบันทึกรายบุคคลที่สามที่สมบูรณ์กว่า เช่น zap เป็นต้น
