Програмаас нэмэлт мэдээлэл хэвлэх замаар оношилгоо хийх аргачлал нэлээд түгээмэл хэрэглэгддэг. Тухайлбал програмыг ажиллаж байх үед нь хувьсагчийн утга болон бусад мэдээллийг дэлгэцэнд хэвлэж харах юм. Үүнийг лог бичих гэж хэлдэг.
Лог бичихэд зориулсанlog
нэртэй стандарт пакет бий.
log.Printf("Програм амжилттай эхэллээ...")
log.Printf()
функц нь дэлгэц рүү лог мэдээллийг хэвлэнэ. Өөр төхөөрөмж рүү хэвлэх бол шинэ лог бичигч обект үүсгэж болно.
Info := log.New(os.Stderr, "INFO: ",
log.Ldate|log.Ltime|log.Lshortfile)
Info.Println("Hello from logger !")
Энэ жишээнд os.Stderr
төхөөрөмж буюу дэлгэц рүү лог хэвлэж байна.
log.New()
функц нь шинэ logger үүсгэхэд ашиглагдана. Энэ функцийн эхний параметр нь төхөөрөмж рүү бичих io.Writer
төрлийн обект байна, хоёр дахь нь логын өмнө залгах текст, гурав дахь нь хэвлэх форматыг тохируулах нэмэлт флагууд байна.
Хэрэв олон төхөөрөмж рүү зэрэг бичих бол io.MultiWriter
төрлийн бичигч обект үүсгэх хэрэгтэй. Жишээ нь дэлгэц болон файл руу зэрэг лог бичих бол дараах байдлаар лог бичигч үүсгэж болно.
file, err := os.OpenFile("file.log",
os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
multi := io.MultiWriter(file, os.Stdout)
myLogger := log.New(multi, "PREFIX:",
log.Ldate|log.Ltime|log.Lshortfile)