本文使用go標準庫log進行日誌記錄
1.編寫自定義日誌收集器
package logger
import (
"io"
"log"
"os"
)
var (
Info *log.Logger
Error *log.Logger
)
func init() {
//日誌輸出文件
file, err := os.OpenFile("sys.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatalln("Faild to open error logger file:", err)
}
//自定義日誌格式
Info = log.New(io.MultiWriter(file, os.Stderr), "INFO: ", log.Ldate|log.Ltime|log.Lshortfile)
Error = log.New(io.MultiWriter(file, os.Stderr), "ERROR: ", log.Ldate|log.Ltime|log.Lshortfile)
}
2.使用
logger.Info.Println("info")
logger.Error.Println("error")
3.生成日誌文件示例
INFO: 2020/05/22 13:59:46 handler.go:17: 收到用戶留言:
INFO: 2020/05/22 13:59:46 handler.go:18: {ula 18911111111 [email protected] xixi}
INFO: 2020/05/22 13:59:47 mailserver.go:24: 郵件發送成功