本文使用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: 邮件发送成功