目标功能: 根据日志级别进行不同文件存储 将error以下级别添加到info.log文件中 将error及以上添加到error.log文件中
下载: go get -u go.uber.org/zap
github源码:https://github.com/uber-go/zap
func main() {
logger,err := getLogger("D:/log/info.log","D:/log/error.log")
if err != nil {
log.Fatal(err)
}
logger.Debug("i am debug",zap.String("key","debug"))
logger.Info("i am info",zap.String("key","info"))
logger.Error("i am error",zap.String("key","error"))
}
func getLogger(infoPath,errorPath string) (*zap.Logger,error) {
highPriority := zap.LevelEnablerFunc(func(lev zapcore.Level) bool{
return lev >= zap.ErrorLevel
})
lowPriority := zap.LevelEnablerFunc(func(lev zapcore.Level) bool {
return lev < zap.ErrorLevel && lev >= zap.DebugLevel
})
prodEncoder :&#