funcmain() { log.Traceln("this is a demo") // 很细粒度的信息,一般用不到 log.Debugln("this is a demo") // 一般程序中输出的调试信息 log.Infoln("this is a demo") // 程序中输出的重要日志信息 log.Warnln("this is a demo") // 警告信息、提醒程序员注意 log.Errorln("this is a demo") // 错误日志信息、需要查看日志排查问题 log.Fatalln("this is a demo") // 致命错误,程序无法继续执行,打印日志、程序退出 log.Panicln("this is a demo") // 记录日志,程序panic }
$ go run main.go INFO[0000] this is a demo WARN[0000] this is a demo ERRO[0000] this is a demo FATA[0000] this is a demo exit status 1
funcmain() { var hook log.Hook hook = log.Hook(&DefaultFieldHook{}) log.AddHook(hook) log.Info("this is a demo") }
$ go run main.go INFO[0000] this is a demo appName=Demo // TxetFormatter格式 {"appName":"Demo","level":"info","msg":"this is a demo","time":"2021-07-23T15:20:32+08:00"} // JSONFormatter格式