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 xx@xx.com xixi}
INFO: 2020/05/22 13:59:47 mailserver.go:24: 郵件發(fā)送成功
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容