程式人員在面對Bug的時候,都希望能夠從記錄精準的log中發現蛛絲馬跡,以最快的時間處理掉問題的核心。
package main
import (
"fmt"
"log"
"os"
"time"
)
func main() {
t := time.Now().Local()
f, err := os.OpenFile(fmt.Sprintf("[%s].log", t.Format("2006-01-02")),
os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
}
defer f.Close()
logger := log.New(f, "prefix", log.LstdFlags)
logger.Println("log text for problem")
logger.Println("log more text for problem")
}
在這段程式中會產生一個log檔,檔名為當前日期。
我們宣告了 logger 來成為紀錄用的物件,直接呼叫 logger.Println 的方法,就能將紀錄放進log檔案中。
只要我們在程式的關鍵點,放置紀錄,就可以在之後出問題的時候,發揮作用。