go自定義日誌輸出到文件

本文使用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: 郵件發送成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章