log一般打印只有三种,如下面所示,如果要区分日志类型以及加些前缀信息就很不方便,这时就需要自定义日志了。
log.Println("log")
log.Panic("panic")
log.Fatal("fata")
直接上实例吧
package main
import (
"log"
"os"
)
type myLog struct {
Info *log.Logger
Warn *log.Logger
Error *log.Logger
}
func main() {
logFilePath := "info_log.log"
logFile, err := os.Create(logFilePath)
if err != nil {
log.Fatalln("open log file failed")
}
Info := log.New(logFile, "[Info]", log.Llongfile)
Warn := log.New(logFile, "[Warn]", log.Llongfile)
Error := log.New(logFile, "[Error]", log.Llongfile)
Info.SetFlags(log.Ldate | log.Ltime | log.Llongfile)
Warn.SetFlags(log.Ldate | log.Ltime | log.Llongfile)
Error.SetFlags(log.Ldate | log.Ltime | log.Llongfile)
Info.Println("this is info log")
Warn.Println("this is warn log")
Error.Println("this is error log")
Info.Println("end")
}