Skip to content

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 เป็นต้น

Golang by www.golangdev.cn edit